Planification d'une fonction PHP

Planification d'une fonction PHP - PHP - Programmation

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

Reply

Marsh Posté le 25-07-2011 à 19:24:04   

Reply

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 ;)


Message édité par rufo le 25-07-2011 à 22:03:12

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

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 :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed