JeuWeb - Crée ton jeu par navigateur
[MySQL] Verrous et résolution d'action - 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 : [MySQL] Verrous et résolution d'action (/showthread.php?tid=5776)

Pages : 1 2 3 4 5


RE: [MySQL] Verrous et résolution d'action - niahoo - 23-11-2011

Mais si tu mets un seul worker sur la queue, il devra finir le premier job avant de commencer le second.


RE: [MySQL] Verrous et résolution d'action - Sephi-Chan - 23-11-2011

Quand tu définis une classe de Job, tu lui spécifies une queue.

exemple :


class StartGameJob
@queue = :game

# Start the game only if needed.
def self.perform(game_id)
game = Game.find(game_id)
game.start!
end
end

Ici, toutes ces tâches seront dans la queue "game", et se feront les uns après les autres, donc sans concurrence. Et même si tu as plusieurs workers qui traitent cette queue, le mécanisme de Redis te garantie qu'une tâche sera pas distribuée à 2 workers.


RE: [MySQL] Verrous et résolution d'action - php_addict - 23-11-2011

ah ok merci, donc c'est bien des taches planifiées, et non un daemon qui en boucle regarde si il y a quelque chose de nouveau dans la queue, c'est bien ca? du coup il faut que le serveur de temps soit au petit oignon...

bon je vais installer redis sur mon serveur qui est dans mon placard pour faire quelques tests...

merci à vous


RE: [MySQL] Verrous et résolution d'action - Sephi-Chan - 23-11-2011

Un worker Resque, c'est un processus qui dépile les éléments des files qu'on lui indique (n'importe lesquelles, par défaut). Ça utilise les commandes de publish/subscribe de Redis.