Rabbitmq pika python发生中断,请完成当前获取的进程,然后停止使用新的请求

时间:2018-06-21 13:51:46

标签: python rabbitmq pika

我正在通过单个进程(多重处理)启动Rabbitmq使用者(相同队列)的多个实例。在中断时,我希望所有使用者正常关闭。我的意思是,如果从队列中获取的进程已经在运行,请让它完成,然后停止使用更多的请求并停止队列。

有没有办法知道队列是否正在执行某件事,然后等待它完成然后停止队列?

1 个答案:

答案 0 :(得分:0)

RabbitMQ团队监视the rabbitmq-users mailing list,并且有时仅在StackOverflow上回答问题。


  

有没有办法知道队列是否正在执行某件事,然后等待它完成然后停止队列?

不,没有办法知道这一点。您应该使用消息确认。当您希望停止消费时,可以调用basic_cancel,然后退出该消费过程。 RabbitMQ只将那些邮件视为已确认已传递,因此您不必担心丢失邮件。