Elke Dag om 1:00
Ik wil dat er een script uitgevoerd word op de server elke dag om 1 uur.
Dit kan d.m.v. cron maar dan word het pas uitgevoerd als iemand de site aanroept.
Kan dit ook anders?
Mvg,
Peter Wessels
Juist niet. Een cronjob werkt op zich zelf, heeft geen page load nodig.
Kortom, wat gaat er gruwelijk fout op het moment dat je de cron niet uitvoert?
pgFrank, hij moet elke dag om 1 uur een hele boel uitrekenen, voor alle leden, dus als dat niet snachts gebeurd duurt het heel erg lang als de eerste lid online komt..
En wat is het probleem als dat niet direct wordt berekend? Wie gaat er dood? Wie heeft om 1 uur 's nachts deze gegevens nodig?
@Frank: als die berekeningen (waarschijnlijk behoorlijk wat) uit moeten worden gevoerd als een bezoeker de pagina laadt, zal dit erge lange laadtijd opleveren. Dan kun je beter zo'n cronjob gebruiken, heeft Peter inderdaad gelijk in.
Waar spreken we over als het een hoop is? 100? 200 queries? Dat is voor de db geen enkel probleem hoor.
Dat word 10 querys per lid en het moet wel berekent worden op zo'n 5000 leden, DJemo ik zet de cron in mijn config.php want ik snap niet hoe ik het in mijn cpanel kan instellen.. Vandaar dat hij het niet helemaal goed doet..
Djemo schreef op 15.04.2008 17:38:
De kans dat je dit soort problemen op phphulp tegenkomt, is null komma niks. Wanneer men 1000 records al veel vindt (hoor je regelmatig), dan is er echt niks aan de hand. Ik voer regelmatig complexe berekeningen uit in een kleine database (500.000 records in de grootste tabel), dat is 40 seconden echt wel klaar. Dat kan vast nog wel sneller, kwestie van de boel verder optimaliseren. Dit moet in 15 tot 20 seconden kunnen, heb alleen even andere prioriteiten. @Frank: als die berekeningen (waarschijnlijk behoorlijk wat) uit moeten worden gevoerd als een bezoeker de pagina laadt, zal dit erge lange laadtijd opleveren. Dan kun je beter zo'n cronjob gebruiken, heeft Peter inderdaad gelijk in.
Problemen ga je pas oplossen wanneer je ze hebt. Tot die tijd werk je met de meest ideale situatie voor dat moment. Berekenen wanneer je de informatie nodig hebt, is dus een hele goede aanpak.
pgFrank, Hier gaat het om het spel. Om 1 uur word alle maximale scores berekend. En dit sla ik op in de database.
Als je nu zo'n cronjob uitvoert, is je website snel en wordt toch alles uitgevoerd wat uitgevoerd moet worden ;-).
Peter schreef op 15.04.2008 17:58:
DJemo ik zet de cron in mijn config.php want ik snap niet hoe ik het in mijn cpanel kan instellen.. Vandaar dat hij het niet helemaal goed doet..
Dat is het probleem, je moet het dus in je control panel, bijvoorbeeld CPanel instellen.
Peter schreef op 15.04.2008 18:09:
Ik vrees het ergste, dit soort spelletjes zijn vaak een soort van virussen, maar goed...pgFrank, Hier gaat het om het spel. Om 1 uur word alle maximale scores berekend. En dit sla ik op in de database.
Wat zijn 'alle maximale scores' ? Deze staan al in je database, die hoef je dus niet nogmaals te gaan berekenen. Een simpele MAX-query met evt. wat voorwaardes is in no-time klaar met dit soort dingen. Ook zou je het simpel met een trigger kunnen oplossen, mocht je toch data dubbel willen gaan opslaan. Dan beschik je permanent over de meest recente maximale score en heb je weer geen cronjob nodig.
Dat was cinisch, ik snap niets van die trigger enzo, maar volgens mij moet het zo ook lukken.. Ik heb alleen nou hulp nodig met de cronjob..
hier niks leuks bij?
Zit Nee, ik zoek wel op google, zo dom ben ik niet.. hij geeft nou steeds: /home/mrfix/public_html/devious/cron/organize.php: line 1: ?php: No such file or directory
dit dan nog niet gevonden? Daar staat een definitie, uitleg, etc. etc. alles wat je nodig hebt.
Waarom heb je Wat is toch mis met een simpele MAX-query? Wat gaat er mis wanneer je géén cron gebruikt? Ik zie namelijk nog steeds niet waarom je deze nodig zou hebben, op het moment dat jij wilt weten wat de hoogste stand was/is, voer je even de query uit en klaar ben je. Of heb je soms 25 miljard records in je database van 300TB staan? Ja, dan kan het even duren...
Niet om de een of ander te dissen of zo hoor, maar wat is er eigenlijk mis aan het gebruik van een cron? Waarom zou je een cron niet gebruiken? Ik bedoel, ik snap dat het vaak 'misbruikt' wordt voor dingen die ook op een ander manier kunnen (bv. pas uitvoeren als iemand de pagina bezoekt), maar levert een cron zoveel meer cpu load op ofzo? Slijt je server sneller?