Hallo allemaal,

Voor mijn implementatie heb ik een cron job gebruikt die om de minuut een script uitvoert. Nu vertelde mijn leraar dat er meerdere alternatieven zijn om dit te doen met PHP. Iemand suggesties?
Danny Spinhuis op 25/03/2018 11:01:37
Nu vertelde mijn leraar dat er meerdere alternatieven zijn om dit te doen met PHP. Iemand suggesties?
Ik ben heel benieuwd welke meerdere alternatieven er volgens jouw leraar zijn. Ik hoop dat hij uitlegt na je opdracht en dat jij dat hier vertelt.
Sommige alternatieven hierboven beschreven vallen toch wel in de categorie "gekunsteld" omdat er een afhankelijkheid van gebruikers die een pagina opvragen is. Daarbij moet je dan extra programmeren dat de opdracht "gedaan" is voor deze minuut maar nog niet voor de volgende minuut. Kan ook extra vertraging op gaan leveren voor gebruikers. De ene keer is de pagina snel en de andere keer niet omdat de verwerking loopt. Enorm foutgevoelig gedoe. Ben benieuwd naar je leraar....
Zelfs voor de standaard cron is per minuut vaak al heel kritisch en moet je ook zekerheden inbouwen, zie wat Thomas schrijft.

Inderdaad, naast de (nogal onzekere) afhankelijkheid van bezoekers moet je extra code schrijven die bijhoudt of/wanneer de cron (deze variant wordt ook wel een poor man's cron genoemd geloof ik) voor het laatst is uitgevoerd. Dit is (vermijdbare) extra administratie.

En dan is het dus nog de vraag of het werk dat je met deze cron wil verzetten zich uberhaupt leent voor het mogelijk grillige verloop van het bezoek.

Uit oogpunt van complexiteit is het gewoon veel makkelijker om op gezette tijden een update-script aan te zwengelen via een cron in plaats van elke page-request te kijken of er iets moet gebeuren.

On a side note: iets wat héél belangrijk is is het volgende: de scripts die gebruikt worden voor dit soort crontaken dienen bij voorkeur niet in de publieke webdirectory staan en zouden eigenlijk nooit via een URL uitgevoerd mogen worden (of in ieder geval niet rechtstreeks). Dit hangt wederom van de taken af die zij uitvoeren en hoe dit is ingericht maar zelden tot nooit is het de bedoeling dat deze meer dan één keer binnen een bepaald tijdsbestek (of parallel, for that matter) worden uitgevoerd. Meestal heeft het te vaak uitvoeren van dit soort taken dan ongewenste bijeffecten of haalt het helemaal niets uit.

Reageren