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使用者线程的正确方法应该是什么?顺便说一句,我正在使用pikablockingConnection
谢谢