lots of fixes for rpc and extra imports

This commit is contained in:
Vishvananda Ishaya
2011-05-25 15:42:24 -07:00
committed by termie
parent aba7847b8a
commit b3338e3ca5
2 changed files with 34 additions and 46 deletions

View File

@@ -31,6 +31,7 @@ LOG = logging.getLogger("nova.fakerabbit")
EXCHANGES = {}
QUEUES = {}
CONSUMERS = {}
class Message(base.BaseMessage):
@@ -101,17 +102,20 @@ class Backend(base.BaseBackend):
EXCHANGES[exchange].bind(QUEUES[queue].push, routing_key)
def declare_consumer(self, queue, callback, consumer_tag, *args, **kwargs):
global CONSUMERS
LOG.debug("Adding consumer %s", consumer_tag)
self.consumers[consumer_tag] = (queue, callback)
CONSUMERS[consumer_tag] = (queue, callback)
def cancel(self, consumer_tag):
global CONSUMERS
LOG.debug("Removing consumer %s", consumer_tag)
del self.consumers[consumer_tag]
del CONSUMERS[consumer_tag]
def consume(self, limit=None):
global CONSUMERS
num = 0
while True:
for (queue, callback) in self.consumers.itervalues():
for (queue, callback) in CONSUMERS.itervalues():
item = self.get(queue)
if item:
callback(item)
@@ -147,5 +151,7 @@ class Backend(base.BaseBackend):
def reset_all():
global EXCHANGES
global QUEUES
global CONSUMERS
EXCHANGES = {}
QUEUES = {}
CONSUMERS = {}