login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cronjobs

Offline ArcanA - 26/07/2009 17:19
Avatar van ArcanAPHP beginner Hallo,

Ik heb een scriptje, trouwen gemaakt, waar 2personen kunnen trouwen

Nu wil ik wanneer de ene persoon een aanvraagt heeft ingedient naar de andere en er niet geacepteert of geweigerd word, dat de aanvraag niet meer geldig is na 24, dus uit de database verwijdert word. Gewoon een query wordt uitgevoert laten we maar zeggen.

Hoe kan ik dit doen? of wie heeft de benodigde tutorials voor mij?

Mvg,
Niels

10 antwoorden

Gesponsorde links
Offline vinTage - 26/07/2009 17:21
Avatar van vinTage Nieuw lid wil je een tutorial over cronjobs ?
Een cronjob is namelijk niets meer dan dat je server een bepaalde pagina bezoekt en de scripts uitvoerd op die pagina.

Dus als jij je cronjob instelt op "checkMarried.php" dan "bezoekt" de server die pagina op de ingestelde tijden en voert dat script uit.
Offline ArcanA - 26/07/2009 17:23
Avatar van ArcanA PHP beginner Hmm, dan moet ik toch geen gebruik maken van cronjobs om mijn probleem op te lossen?
Offline DenMette - 26/07/2009 17:44
Avatar van DenMette PHP gevorderde Je kan dat beter wel doen en het script om het uur runnen. Zo kan je dit dan snel verwijderen.

Daarboven op moet je ook kijken als ze het willen trouwen maar te laat zijn dit ook weigeren.
Offline ibmos2warp - 27/07/2009 11:06
Avatar van ibmos2warp PHP interesse
DenMette schreef:
Je kan dat beter wel doen en het script om het uur runnen. Zo kan je dit dan snel verwijderen.

Wat een misbruik van resouces weer eens.
Een cronjob is helemaal nergens voor nodig.
Als persoon A zegt dat die met persoon B wilt trouwen (dus dat ie in een form dat heeft aangevinkt of weetikveelwat), dan kan je toch simpel in die pagina een mailtje sturen naar persoon B. Of een pm, of hoe je systeem werkt.
En als persoon B de accepteer pagina later dan 24 uur bezoekt, dan kijk je toch gewoon met een query of die aanvraag niet lager dan 24 uur geleden is. Als dat zo is, dan zorg je d'r voor dat die niet meer gebruikt kan worden.
Overigs is het ook nergens voor nodig om die aanvraag te verwijderen. Je zou hem ook een soort van status kunnen geven. Dan kan je d'r later ook nog statistiek mee uitvoeren (hoevaak is persoon X gevraagd, hoevaak is persoon X door dezelfde persoon gevraagd, enzovoort).

Cronjobs heb je eigenlijk nooit nodig...
Offline Arnold - 03/08/2009 07:57
Avatar van Arnold Nieuw lid @ibmos2warp

Met je laatste zin ben ik het niet helemaal eens, sommige toepassingen vereisen het dat je cronjobs draait. Bijvoorbeeld het resizen van een hoop foto's wil je niet door een user laten opstarten. Ook het legen van een temp folder doe je over het algemeen niet wanneer gebruikers een pagina opvragen.

Maar om weer on-topic te komen ben ik het totaal eens met je stelling dat je beter kunt controleren of een aanvraag nog geldig is dmv datetime velden. Helaas gaat dit niet op wanneer er automatisch moet worden gemailt naar de gebruiker, maar dan zou ik het record inderdaad niet verwijderen maar alleen de cron draaien om mailings te verzenden.
Offline Gerard - 04/08/2009 00:13
Avatar van Gerard Ouwe rakker @ibmos2warp

Het correct toepassen van cronjobs kan er juist toe leiden dat er beter omgegaan wordt met capaciteit. Pak nu even een voorbeeld uit mijn praktijk.

Ik onderhoud een applicatie waarin klanten nieuwsbrieven kunnen sturen naar al hun klanten. Deze lijsten kunnen oplopen tot 25.000 contacten. Wanneer ik de pagina waar de gebruiker op zit 25.000 mailtjes laat wegsturen, dan ben ik wel even bezig. Hier schuilt dan ook het gevaar in dat de gebruiker de pagina sluit en dergelijke. Het veiligste is dan gewoon een cronjob. Ik verwerk zo veel makkelijker dit soort zaken.

Tevens gebruik ik ook een cronjob om eenmaal per dag bestanden ouder dan 48 uur (sinds laatste modified date) weg te gooien uit de cache en temp directory. Als ik dit zou moeten doen bij elke pagina refresh of inlog ben ik er niet zeker van dat dit netjes gedaan wordt, omdat ik afhankelijk ben van de input en activiteit van een gebruiker.

Naarmate je applicaties en websites professioneler worden, zal je vanzelf in contact komen met cronjobs. Naarmate je verder komt zal je dan ook herkennen wanneer je iets on-the-fly kan doen, en wanneer je een cronjob nodig hebt.
Offline vinTage - 04/08/2009 07:58
Avatar van vinTage Nieuw lid Een ander voorbeeldje waarbij cronjobs imo onvermijdelijk zijn:

Voor een klant (online offertes aanvragen bij verschillende bedrijven) gebruik ik een cronjob elke 1ste van de maand om om 00:00 uur de facturen te versturen naar de bedrijven.
Stel dat er geen bezoekers zouden komen op de 1ste tot de 15e, dan krijgt geen enkel bedrijf zijn factuur voor de uiterste betaaldag, daarnaast is het gewoon netter om op elke 1ste van de maand je factuur te krijgen ipv "later".

Elke 17e wordt er via een cronjob gekeken of het bedrijf al betaald heeft, zoniet een reminder versturen.

Daarnaast gebruik ik nog een cronjob maar dat is teveel werk om uit te leggen 
Offline bballplayert - 10/12/2009 16:08
Avatar van bballplayert Nieuw lid Allemaal goed en wel maar weet er iemand een goeie tutorial staan over cronjobs? Ik zou het "verstandig" willen gebruiken ...
 
Offline Martijn - 10/12/2009 16:13
Avatar van Martijn Crew PHP en vanwaar het laten staan en een status 'x' geven? Hoe groter je DB word, hoe langzamer de queries worden omdat ze steeds meer hebben om te doorzoeken

Dan zou ik voor een tussenweg gaan. Niet accepteerbaar maken (of simpelweg nieteens laten zien aan de user) en dan eens per 24u een cronjobje laten draaien om ze te verwijderen
Offline Dlol - 10/12/2009 18:22
Avatar van Dlol Lid Ik wil heel even de eikel uithangen, ik kan dit niet aanzien... Ik hoop dat je in je scripts niet zo veel fouten schrijft als hier, want hoe krijg je het in godsnaam voor mekaar om in 2 zinnen 6 dt-fouten te schrijven?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s