@@ -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