Crons?

  • Hey ,


    Voor de zoveelste keer zeg ik het al dat ik bezig ben met mijn avatar site, alleen wat ik graag wil weten is hoe je crons maakt. Onder crons versta ik zeg maar dat je 1 keer op een dag op iemand zijn klik link kan klikken of dat je 1 keer op een dag rente krijgt dan versta ik onder crons.


    En omdat ik geen flauw benul heb hoe ik het moet maken. Vraag ik jullie hoe het moet..



    Mvg,
    Frenzo..

  • Zeker en vast cronjobs, eerst werkte ik met een ingewikkeld systeem in mijn includes maar ik ben, gelukkig, overgestapt op de cronjob die in mijn DirectAdmin zit ingebouwd ;)

  • 1e advies: Gebruik de interne crons van je webhoster


    2e advies: als dat niet werkt gebruik je cronjobs site van hierboven of onze eigen cronjobs service:
    http://cronjobs.gamecoll.com/
    Voordeel van deze dienst is dat je zelf ook logs krijgt van het resultaat van je crons.
    Is 1 van de GameColl diensten die al jaren in beta staat en nooit met een mooi uiterlijk werd gelanceerd wegens gebrek aan tijd ;)


    Ps: je kan gewoon inloggen met je GameColl account, het aanmelden linkje staat nog niet goed.


    3e advies: als je ook dat niet wil kun je eventueel een minder betrouwbare cronjob dienst maken die gaat kijken als een user op iets klikt of de site bezoekt hoeveel keer hij de cronjob gemist heeft en deze dan vervolgens zoveel keer gaat uitvoeren tot het systeem weer up to date is, zonder dat de user het merkt (minder goede optie, maar in sommige gevallen gecombineerd met cronjobs load besparend, in de meeste echter extra belastend).

  • @Koen


    3e advies ben ik het niet eens of ik begrijp je verkeerd.
    Je kan cronjob bestanden namelijk plaatsen waar jij wilt op de server.
    kan in private_html of andere, raad private_html aan.
    Dus onveilig nee niet helemaal want een user moet dan jou bestandsnaam weten.
    Ook komt hierbij dat een cronjob zijn taak niet mist, hij word dus altijd op de juiste ingevoerde tijd uitgevoerd.
    Dus minder betrouwbaar is het zeker niet, anders zou dit bij jou ook het geval zijn vind je niet ?:)
    Juist daarom moet je cronjob bestanden niet zomaar in een public_html map gaan plaatsen.
    Als je ze in private_html of andere naam die jij verzonnen hebt plaatst is dit wel veilig.
    Nogmaals, een cronjob mist zijn uitgevoerde opdracht niet, dit was met normale crons wel zo ;)
    Normale crons vereiste via config een oproep, wanneer dit niet het geval was mist hij de uitvoering en doet dit later als nog.
    Crons vereisen daarom altijd dat ze vanuit een bestand geladen worden.
    cronjob is dus een betere manier om dit soort dingen te laten uitvoeren.


    Met normalen crons is dit niet veilig, die kan je uitvoeren wanneer je wilt.
    Tevens vertrouw ik die crons ook niet meer aangezien ik redelijk wat geleerd heb hierover.



    Puntje 2
    Waarom zou een hoster zijn cronjobs via jou laten lopen als hij zelf ook een cronjob paneel heeft?
    Lijkt mij vrij nutteloos om te gebruiken omdat je dit zelf ook hebt, waarom dan speciaal via gamecoll?



    [offtopic]
    Jemig wat een lang verhaal voor deze tijdstip (xD)
    [/offtopic]

  • Morellow: cronjobs gebruik je juist wel voor dit soort gemakkelijke taken. Cronjobs is immers op zichzelf al de eenvoudigste manier om dergelijke problemen op te lossen.


    Superior: Niet alle webhosters bieden cronjobs aan, ik gaf dat 2e advies slechts voor in het geval je webhoster dit niet zou aanbieden.


    Verder hebben we het beiden over een ander aspect van veilig.
    Natuurlijk zet je crons private, is niet meer dan logisch.
    Ik noemde deze minder betrouwbaar omdat je afhangt van de bezoekers. Bovendien wordt deze ook elke keer iemand je site bezocht wordt geladen. Dat bedoelde ik met minder betrouwbaar.

  • Citaat van K.Rens

    Morellow: cronjobs gebruik je juist wel voor dit soort gemakkelijke taken. Cronjobs is immers op zichzelf al de eenvoudigste manier om dergelijke problemen op te lossen.


    De eenvoudigste manier? Met PHP heb je met 2 regeltjes code een beter resultaat dan een cronjob.


    Waarom? Omdat je cronjob in OP 1x per 24 uur de crontab doorloopt. Dus als je om 23:59 klikt, kan je om 0:00 weer klikken, wat toch niet de bedoeling is lijkt me.

  • Citaat van Morellow


    De eenvoudigste manier? Met PHP heb je met 2 regeltjes code een beter resultaat dan een cronjob.


    Waarom? Omdat je cronjob in OP 1x per 24 uur de crontab doorloopt. Dus als je om 23:59 klikt, kan je om 0:00 weer klikken, wat toch niet de bedoeling is lijkt me.


    Je begrijpt nu de definitie van een cronjob verkeerd. Een cronjob houd in: Een opdracht in een bepaalde frequentie uitvoeren. Wat jij bedoeld is gewoonweg een actie niet meer laten uitvoeren, als dit bijvoorbeeld een uur of eerder geleden al is gedaan.


    Natuurlijk raad ik aan gewoon crontabs te gebruiken. Echter, wanneer je die niet tot je beschikking hebt is het vaak ook mogelijk het via een PHP-bestand te doen die je bij iedere request uitvoert. Dit is weliswaar veel zwaarder voor de server, maar niet minder betrouwbaar als het moment van uitvoeren er niet zozeer toe doet, maar het feit van uitvoeren op een bepaald moment.


    Hopelijk heb ik mijn verhaal een beetje duidelijk verteld.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!