diff options
author | Ask Solem <ask@celeryproject.org> | 2012-09-12 16:53:35 +0100 |
---|---|---|
committer | Ask Solem <ask@celeryproject.org> | 2012-11-02 14:46:33 +0000 |
commit | 335b39de8621cc426a120f149b789fe46a2f67ed (patch) | |
tree | dff4ce32b92ae7ede850c6f85ed96309c4dfce17 | |
parent | 1ac786302553c5f3f79940b3a2dcfaa855a4107c (diff) | |
download | kombu-335b39de8621cc426a120f149b789fe46a2f67ed.tar.gz |
In some cases after_reply_message_received was not called
-rw-r--r-- | kombu/pidbox.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/kombu/pidbox.py b/kombu/pidbox.py index a4380ecb..787fde32 100644 --- a/kombu/pidbox.py +++ b/kombu/pidbox.py @@ -242,14 +242,16 @@ class Mailbox(object): responses.append(body) consumer.register_callback(on_message) - with consumer: - for i in limit and range(limit) or count(): - try: - self.connection.drain_events(timeout=timeout) - except socket.timeout: - break - return responses - chan.after_reply_message_received(queue.name) + try: + with consumer: + for i in limit and range(limit) or count(): + try: + self.connection.drain_events(timeout=timeout) + except socket.timeout: + break + return responses + finally: + chan.after_reply_message_received(queue.name) def _get_exchange(self, namespace, type): return Exchange(self.exchange_fmt % namespace, |