1

对 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

谢谢

4

0 回答 0