31 lines
839 B
Python
31 lines
839 B
Python
from multiprocessing.managers import BaseManager
|
|
import Queue
|
|
|
|
tasks_q = Queue.Queue()
|
|
results_q = Queue.Queue()
|
|
minions_q = Queue.Queue()
|
|
master_q = Queue.Queue()
|
|
|
|
|
|
class QueueManager(BaseManager):
|
|
"""
|
|
One QueueManager to rule all network Queues
|
|
"""
|
|
pass
|
|
|
|
QueueManager.register('get_tasks_q', callable=lambda: tasks_q)
|
|
QueueManager.register('get_results_q', callable=lambda: results_q)
|
|
QueueManager.register('get_minions_q', callable=lambda: minions_q)
|
|
QueueManager.register('get_master_q', callable=lambda: master_q)
|
|
|
|
|
|
def get_qs(qm):
|
|
"""
|
|
pass in a QueueManager, and this function returns all relevant
|
|
queues attached to that QueueManager.
|
|
"""
|
|
return (qm.get_tasks_q(),
|
|
qm.get_results_q(),
|
|
qm.get_master_q(),
|
|
qm.get_minions_q())
|