JeuWeb - Crée ton jeu par navigateur
[Résolu] Conseils pour un timestamp et un cron - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Conseils pour un timestamp et un cron (/showthread.php?tid=4885)



[Résolu] Conseils pour un timestamp et un cron - sadira - 06-06-2010

Bonjour, je me tourne vers vous pour avoir des pistes concernant un "problème" de conception, et si vous pouviez me "guider" vers un début d'optimisation je vous en serai grès.

J'ai un cron qui passe toutes les heures et qui met à jour les ressources des utilisateurs selon leur type.
Ex: si type1, update gold+1, si type2, update gold+2, etc

Lors de l'achat d'un code, je souhaite insérer un timestamp indiquant la date/heure à laquelle la personne a acheté un code (code permettant de passer le type1 en type2 pour une durée de X jours uniquement).

Mon problème concerne cet écart entre le timestamp et le cron qui passe toute les heure. Je peux réaliser une table avec l'id user, le timestamp originel et le timestamp + X jours, et lancer un cron de plus toute les heure qui va passer l'utilisateur du type2 au type1 lorsque le time actuel est supérieur au timestamp + X jours, mais y-a-t-il une solution plus "simple"?

Merci de l'aide que vous pourrez m'apporter.


RE: Conseils pour un timestamp et un cron - Argorate - 06-06-2010

Je pense tout simplement que tu n devrais pas utiliser un cron externe venant toutes les heures mettre a jour...

Personnelement j'utilise la difference de temps entre le time() actuel et le timestamp du dernier tour (tour qui peut etre égal à 1h), et je met a jour que quand l'utilisateur se connecte. Si tu procedes ainsi tu pourais alors faire ton calcule sans qu'il y est cet histoire de décalage entre l'execution des update et l'expiration du "code".

Je sais pas si tu m'as suivit?^^


RE: Conseils pour un timestamp et un cron - sadira - 07-06-2010

Oui je t'ai suivit, c'est plus cohérent pour ne pas charger le serveur.
Merci pour cette astuce, je vais m'y mettre de ce pas !