summaryrefslogtreecommitdiff
path: root/oslo_messaging/_drivers/impl_rabbit.py
diff options
context:
space:
mode:
Diffstat (limited to 'oslo_messaging/_drivers/impl_rabbit.py')
-rw-r--r--oslo_messaging/_drivers/impl_rabbit.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/oslo_messaging/_drivers/impl_rabbit.py b/oslo_messaging/_drivers/impl_rabbit.py
index 8c696cb..75041cd 100644
--- a/oslo_messaging/_drivers/impl_rabbit.py
+++ b/oslo_messaging/_drivers/impl_rabbit.py
@@ -231,6 +231,9 @@ class Consumer(object):
consumer_tag=six.text_type(tag),
nowait=self.nowait)
+ def cancel(self, tag):
+ self.queue.cancel(six.text_type(tag))
+
def _callback(self, message):
"""Call callback with deserialized message.
@@ -689,11 +692,12 @@ class Connection(object):
with self._connection_lock:
try:
- self._set_current_channel(self.connection.channel())
+ for tag, consumer in enumerate(self._consumers):
+ consumer.cancel(tag=tag)
except recoverable_errors:
self._set_current_channel(None)
self.ensure_connection()
- self._consumers = []
+ self._consumers = []
def _heartbeat_supported_and_enabled(self):
if self.driver_conf.heartbeat_timeout_threshold <= 0: