如何在pika库的方法start_using()中添加超时

时间:2019-07-12 02:23:38

标签: python rabbitmq pika

我有一个BlockingConnection,并且遵循the examples的pika文档。但是在所有这些中,开始使用消息的代码示例如下:

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,但是我还没有走运。例如,如果客户在最近X秒钟内不使用任何消息,而我找到了set参数,则脚本完成。在pika lib中可以吗?还是我必须改变方法?

1 个答案:

答案 0 :(得分:1)

如果您不想阻止代码,请不要使用start_consuming。使用SelectConnection的{​​{1}}或MDN。您可以为传递到consume的参数添加超时。


注意: RabbitMQ团队监视consume this method,并且有时仅在StackOverflow上回答问题。