Python 2.7 使用pika connection.close()会给出;警告:pika.adapters.base_连接:断开连接时处于未知状态:0“;

Python 2.7 使用pika connection.close()会给出;警告:pika.adapters.base_连接:断开连接时处于未知状态:0“;,python-2.7,rabbitmq,ipython,ipython-notebook,pika,Python 2.7,Rabbitmq,Ipython,Ipython Notebook,Pika,使用pika关闭与RabbitMQ服务器的连接时,会出现警告警告:pika.adapters.base\u connection:Unknown state on disconnect:0 如果未使用connection.close(),则不会出现警告。是什么导致了这一警告?这是我们可以忽略的吗 在MacOSX上使用Python 2.7、RabbitMQ 3.2.2、iPython 1.1.0和pika 0.9.13 这已通过pull请求修复。只需等待新版本:)在RabbitMQ 3.3.3中,

使用pika关闭与RabbitMQ服务器的连接时,会出现警告
警告:pika.adapters.base\u connection:Unknown state on disconnect:0

如果未使用
connection.close()
,则不会出现警告。是什么导致了这一警告?这是我们可以忽略的吗

在MacOSX上使用Python 2.7、RabbitMQ 3.2.2、iPython 1.1.0和pika 0.9.13


这已通过pull请求修复。只需等待新版本:)

在RabbitMQ 3.3.3中,如果我在通道完全关闭之前关闭BlockingConnection,这种情况会发生在我身上。解决方案是在通道的关闭回调中关闭连接。此外,使用自动关闭通道

params = pika.ConnectionParameters(host=self._host, port=self._port)
connection = pika.BlockingConnection(params)
with contextlib.closing(connection.channel()) as channel:
    # Close connection once channel is closed
    def closeConnection(channel, replyCode, replyText):
        connection.close()
    channel.add_on_close_callback(closeConnection)

    # Declare a durable queue; we will use the default exchange for
    # simple key-based routing
    channel.queue_declare(queue=self._queueName, durable=True) 
    ...
    ...