J'essaie de comprendre comment écrire un programme en python qui utilise la file d'attente multi-traitement.Multiprocessing avec file d'attente renouvelable
Je dispose de plusieurs serveurs et un d'entre eux fournira la file d'attente à distance avec ceci:
from multiprocessing.managers import BaseManager
import Queue
import daemonme
queue = Queue.Queue()
class QueueManager(BaseManager):
pass
daemonme.createDaemon()
QueueManager.register('get_job', callable=lambda:queue)
m = QueueManager(address=('', 50000), authkey='')
s = m.get_server()
s.serve_forever()
Maintenant, je veux utiliser mon double Xeon, serveur quad core pour traiter les travaux hors de cette file d'attente à distance. Les emplois sont totalement indépendants les uns des autres. Donc, si j'ai 8 cœurs, je voudrais commencer 7 processus qui choisissent un travail de la file d'attente, le traiter, puis revenir à la suivante. Chacun des 7 processus va le faire, mais je ne peux pas me concentrer sur la structure de ce programme.
Quelqu'un peut-il me fournir quelques idées éclairées sur la structure de base de ce?
Merci d'avance.
Comment gérer cette mise en œuvre * files d'attente à distance *? Je pense que multiprocessing.managers est un très bon choix s'il a besoin de partager des ressources à distance. – drAlberT