如何使用 pika 消费来自 RabbitMQ 队列的所有消息

How to consume all messages from RabbitMQ queue using pika

我想在 Python 中编写一个守护进程,它会定期唤醒以处理一些在 RabbitMQ 队列中排队的数据。

当守护进程醒来时,它应该消耗队列中的所有消息(或min(len(queue), N),其中N 是某个任意数字),因为数据最好是分批处理。在 pika 中有没有一种方法可以做到这一点,而不是传递一个在每次消息到达时调用的回调?

谢谢。

您可以使用 basic.get API,它从代理中提取消息,而不是订阅要推送的消息