Skip to content

Commit 4a0e40f

Browse files
committed
delete heartbeat queue on disconnect
1 parent b2670ad commit 4a0e40f

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

moleculer/client.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,11 @@ def create_topics(self):
142142

143143
for queue_type, queue_name in queues:
144144
if queue_type in ('REQUEST', 'RESPONSE'):
145-
self.setup_queue(queue_name, ttl=False)
145+
self.setup_queue(queue_name, ttl=False, auto_delete=False)
146+
elif queue_type == 'HEARTBEAT':
147+
self.setup_queue(queue_name, ttl=True, auto_delete=True)
146148
else:
147-
self.setup_queue(queue_name, ttl=True)
149+
self.setup_queue(queue_name, ttl=True, auto_delete=False)
148150
for exchange_type, exchange_name in MOLECULER_EXCHANGES.items():
149151
self.setup_exchange(exchange_name)
150152

@@ -225,11 +227,12 @@ def on_exchange_declareok(self, unused_frame):
225227
LOGGER.info('Exchange declared')
226228
self.ready_topics.append(None)
227229

228-
def setup_queue(self, queue_name, ttl=True):
230+
def setup_queue(self, queue_name, ttl=True, auto_delete=False):
229231
"""Setup the queue on RabbitMQ by invoking the Queue.Declare RPC
230232
command. When it is complete, the on_queue_declareok method will
231233
be invoked by pika.
232234
235+
:param auto_delete:
233236
:param ttl:
234237
:param str|unicode queue_name: The name of the queue to declare.
235238
@@ -238,7 +241,7 @@ def setup_queue(self, queue_name, ttl=True):
238241
arguments = {}
239242
if ttl:
240243
arguments['x-message-ttl'] = 5000 # eventTimeToLive: https://github.com/ice-services/moleculer/pull/72
241-
self._channel.queue_declare(self.on_queue_declareok, queue_name, arguments=arguments)
244+
self._channel.queue_declare(self.on_queue_declareok, queue_name, auto_delete=auto_delete, arguments=arguments)
242245

243246
def on_queue_declareok(self, method_frame):
244247
"""Method invoked by pika when the Queue.Declare RPC call made in

0 commit comments

Comments
 (0)