【发布时间】:2019-07-12 02:23:38
【问题描述】:
我有一个BlockingConnection,我关注 pika 文档的the examples。但在所有这些中,开始消费消息的代码示例是:
connection = pika.BlockingConnection()
channel = connection.channel()
channel.basic_consume('test', on_message)
try:
channel.start_consuming()
except KeyboardInterrupt:
channel.stop_consuming()
connection.close()
(或多或少的细节)。
我必须编写许多脚本,并且我想一个接一个地运行(用于测试/研究目的)。但是上面的代码要求我每一个都加^C。
我尝试添加一些超时explained in the documentation,但我没有运气。例如,如果我找到一个 set 参数,如果客户端在最后 X 秒内没有消费任何消息,则脚本完成。这在 pika lib 中可行吗?还是我必须改变方法?
【问题讨论】:
-
您希望您的代码在一定时间后自动杀死消费者。对吗?
-
@bumblebee 好的,这可能是一个选择。但是这个“时间量”应该是在队列中不存在更多消息之后。例如,在 C++ 客户端 you can to set a timeout.