Archief - Serverside timer.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

cosmo2

Legacy Member
Hello,

Ben een website aan het maken waar men elke week een gratis spel op steam kan winnen.
De timer stopt op vrijdag 20hr. Alles werkt, maar omdat de script op de client loopt, stopt de timer alleen als ik de website heb openstaan. De misschien tricky part is dat de timer op GMT+1 moet lopen. Momenteel doe ik dit met een API. Als ik gewoon een nieuw Date() object aanmaak in jQuery, neemt hij de tijd over van de client computer. Na dat de tijd verlopen is wordt een ajax call gemaakt die de "winnaar" in de database zet. Aangezien die ajax call via de script opgeroepen wordt, werkt dit deel dus ook niet als ik de site niet open heb staan.

tl;dr

Is er een mogelijkheid om een timer te laten lopen zonder dat de site moet bezocht worden én een database insert kan doen?

bealzebub

Legacy Member
Jup, als je op Linux host (zelfs met cpanel) kan je een crontab instellen. Da's een server service die zaken kan uitvoeren op bepaalde tijdstippen, zowel eenmalig als herhalend. Moest de tijd van de server niet op GMT+1 staan zal je moeten manueel omrekenen wat vrijdag 20u bij ons als effectieve tijd op de server zal zijn.

Je laat de crontab een script uitvoeren (in je taal naar keuze) die willekeurig een winnaar kiest, eventueel direct een mail naar de winnaar stuurt, etc.

Sowieso doe je zo'n dingen nooit clientside, never trust the client.

cosmo2

Legacy Member
bealzebub zei:
Jup, als je op Linux host (zelfs met cpanel) kan je een crontab instellen. Da's een server service die zaken kan uitvoeren op bepaalde tijdstippen, zowel eenmalig als herhalend. Moest de tijd van de server niet op GMT+1 staan zal je moeten manueel omrekenen wat vrijdag 20u bij ons als effectieve tijd op de server zal zijn.

Je laat de crontab een script uitvoeren (in je taal naar keuze) die willekeurig een winnaar kiest, eventueel direct een mail naar de winnaar stuurt, etc.

Sowieso doe je zo'n dingen nooit clientside, never trust the client.


Ah, dat zegt mij inderdaad iets! Thanks.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan