Planification d'une fonction PHP - PHP - Programmation
Marsh Posté le 25-07-2011 à 22:00:43
effectivement, une table + cron. Après, si l'unité est la minute, tu peux étaler les jobs sur les 60 seconde de la minute...
A la limite, tu peux faire travailler les jobs sur une table temporaire qui aura été préalablement chargée avec les données des tables en cours d'utilisation dans le jeu. si tu veux avoir les bonnes données et pas de retard
Autre variante : avoir une architecture du sgbd en maître/esclave, une réplication en temps réelle quoi et les jobs qui bonssent sur la bd répliquée
Marsh Posté le 26-07-2011 à 00:21:31
Bonjour rufo,
Merci pour ta réponse, c'est bien ce que je pensais ...
Pour ta variante, je vais y réfléchir mais ca me parait beaucoup pour mes besoins
Marsh Posté le 25-07-2011 à 19:24:04
Bonjour à tous,
Je suis actuellement sur la conception d'un jeu en ligne dans lequel les participants auront la possibilité d'espionner leurs voisins (un peu comme dans Ogame pour ceux qui connaissent).
La fonctionnalité serait donc la suivante : quand la personne click sur 'espionner', il faut un certain temps (de trajet) avant que l'espionnage ne se produise (disons pour cet exemple : 30 minutes).
J'ai donc besoin de pouvoir lancer la fonction PHP 'espionnage($id1,$id2)' 30 minutes après avoir appuyé sur le bouton.
Comment faire ? J'ai pensé à la méthode suivante :
- Stocker dans une table l'heure d’exécution de la fonction (avec tous les paramètres) et mettre en place un cron job qui va aller voir (et effectuer) toutes les secondes s'il y a des actions à effectuer dans la table (et il flaggera comme 'terminée' les actions qui ont déja été faites).
Avez-vous une meilleure idée ?? J'ai peur que s'il y a trop de jobs à la même heure, il puisse y avoir des décalages et donc des données d'espionnage qui ne sont plus à jour.
Merci beaucoup.
Cordialement,
Sanguin