06-12-2011, 01:04 AM
(06-12-2011, 12:40 AM)php_addict a écrit : j'ai toujours un doute quant à l’utilité d'un job queue pour la résolution des actions en fait...car j'ai des actions qui doivent être résolues dans le futur (résolution de combats) et d'autres immédiatement (payre, envois de troupes, etc...)
exemple: l'envoi de troupes est une action
- je clique sur "j'envois mes troupes attaquer"
- je suis rediriger vers une url du jeu, et là l'action doit avoir été résolue, et si avec un système de queue l'action est résolu après la redirection cers l'url en question ca va site être chiant pour les joueurs...
C'est parce que tu n'embrasses pas le modèle asynchrone.
Reprenons ton bouton pour envoyer les troupes. On lui fait faire la même requête, mais en Ajax. Deux cas de figure selon ton jeu :
- Le jeu doit afficher les résultats du combat. Dans ce cas, tu affiches "Attaque en cours…" et dans le job, tu effectues l'action puis tu génères le rapport et tu l'envoies au joueur grâce au push (en utilisant un serveur de push comme Juggernaut, qui utilise également Redis).
- Le jeu ne doit pas afficher les résultats du combat (puisqu'il a lieu plus tard). Là c'est encore plus simple : tu affiches seulement un message "L'attaque a été lancée".
Enfin bref, avec du queueing et du scheduling, je ne vois vraiment pas comment tu peux douter de l'utilité, ou alors explique clairement pourquoi.