Rabbitmq Pika Python 中断,完成当前获取的进程,然后停止使用新请求



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

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

RabbitMQ 团队监控rabbitmq-users邮件列表,并且只偶尔回答 StackOverflow 上的问题。


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

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

最新更新