3

我正在使用带有 PHP react\stomp 的 RabbitMQ。我有两个队列 - 一个是“待办事项”,另一个是“完成”。消费者从“待办事项”中读取,完成其工作,确认消息,然后将其发布到“完成”队列。

有什么方法可以确保我只使用来自“todo”的 N 条消息(并单独确认它们)然后退出?主要原因是我们不希望有长时间运行的消费者,我们希望在 N 条消息后重新启动它们。

4

1 回答 1

1

您可以为目的地设置预取计数:

默认情况下,所有订阅的预取计数设置为无限制。这可以通过将 SUBSCRIBE 帧上的预取计数标头设置为所需的整数计数来控制。

https://www.rabbitmq.com/stomp.html

所以要只消费十条消息,添加标题

prefetch-count:10

SUBSCRIBE框架。

您可以将 ack 模式设置client-individual为逐个消息手动确认。

于 2015-03-01T15:15:34.030 回答