对 Pika 来说有点新,我有一些代码,比如:(这里不包括构造函数和其他不相关的函数)
class Consumer(object):
def __disconnect(self):
try:
self.__channel.stop_consuming()
self.__channel.close()
self.__connection.close()
except Exception as e:
print str(e)
def run(self):
While self.__isConsuming:
self.__channel.start_consuming()
print('stop consuming')
def shutdown(self):
self.__isConsuming=False
self.__disconnect()
print('complete')
这是在一个单独的消费线程中。但是当我从线程调用关闭消费者时,有时它会在断开连接函数中遇到异常,说连接已经关闭,然后我会在关闭时看到打印;有时它只是在运行中打印并退出运行,并且从未在关机时看到打印,这对我来说似乎是不完整的关机。
所以有人知道原因吗?关闭鼠兔消费者线程的正确方法应该是什么?顺便说一句,我正在使用 pika blockingConnection
谢谢