<br>Not sure if this is user error or not, but I am opening a blocking connection:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.credentials = pika.PlainCredentials(settings.BROKER_USERNAME, settings.BROKER_PASSWORD)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.connection = pika.BlockingConnection(pika.ConnectionParameters(host=settings.BROKER_HOSTNAME, port=settings.BROKER_PORT, credentials=self.credentials))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.channel = self.connection.channel()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.callback_queue = self.channel.queue_declare().method.queue<br><br>and I try to close it like this:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.channel.queue_delete(queue=self.callback_queue)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.connection.close()<br><br>However, as seen from Rabbit MQ management console, the connection.close() method deletes the channels, but NOT the connection?<br>Now, the close method calls: BaseConnection.close(self, code, text)<br>which calls:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for channel_number in self._channels.keys():<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self._channels[channel_number].close(code, text) # this closes the channel<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # If we already dont have any channels, close out<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not self._channels:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self._on_close_ready() # never gets here?<br><br>If instead, I have:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.connection.close()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.connection._on_close_ready()<br><br>then everything shuts down ok?<br><br><br><br><br><br><br><br><br><br><br>