From 0a0e43f409f509daf091d70b7d5a2e6e44d7c9c3 Mon Sep 17 00:00:00 2001 From: Stephen Mardson McQuay Date: Sat, 2 Apr 2011 01:45:26 -0600 Subject: [PATCH] forgot to add this file which abstracts away the binding of methods to the network queue --- interp/cluster/__init__.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 interp/cluster/__init__.py diff --git a/interp/cluster/__init__.py b/interp/cluster/__init__.py new file mode 100644 index 0000000..78ab2b1 --- /dev/null +++ b/interp/cluster/__init__.py @@ -0,0 +1,21 @@ +from multiprocessing.managers import BaseManager +import Queue + +tasks_q = Queue.Queue() +results_q = Queue.Queue() +slaves_q = Queue.Queue() +master_q = Queue.Queue() + +class QueueManager(BaseManager): + pass + +QueueManager.register('get_tasks_q', callable=lambda:tasks_q ) +QueueManager.register('get_results_q', callable=lambda:results_q) +QueueManager.register('get_slaves_q', callable=lambda:slaves_q ) +QueueManager.register('get_master_q', callable=lambda:master_q ) + +def get_qs(m): + """ + returns all relevant queues + """ + return (m.get_tasks_q(), m.get_results_q(), m.get_master_q(), m.get_slaves_q())