summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua McKenty <joshua.mckenty@nasa.gov>2010-07-16 14:02:37 -0700
committerJoshua McKenty <joshua.mckenty@nasa.gov>2010-07-16 14:02:37 -0700
commit6892ff871b1a154bbe669bf5cb10eab638fb181b (patch)
tree18a49f47f9b0cad4630af5071117f3f153af0ceb
parent122fe2b75f635df0aa3858d05ed6775b76a9776e (diff)
downloadnova-6892ff871b1a154bbe669bf5cb10eab638fb181b.tar.gz
nova-6892ff871b1a154bbe669bf5cb10eab638fb181b.tar.xz
nova-6892ff871b1a154bbe669bf5cb10eab638fb181b.zip
Ack messages during call so rabbit leaks less.
-rw-r--r--nova/rpc.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/nova/rpc.py b/nova/rpc.py
index 72a84b7f7..99e820ff3 100644
--- a/nova/rpc.py
+++ b/nova/rpc.py
@@ -197,7 +197,10 @@ def call(topic, msg):
conn = Connection.instance()
d = defer.Deferred()
consumer = DirectConsumer(connection=conn, msg_id=msg_id)
- consumer.register_callback(lambda data, message: d.callback(data))
+ def deferred_receive(data, message):
+ message.ack()
+ d.callback(data)
+ consumer.register_callback(deferred_receive)
injected = consumer.attach_to_tornado()
# clean up after the injected listened and return x