使用react\stomp仅使用来自RabbitMQ的N条消息,分别确认它们,然后退出

使用react\stomp仅使用来自RabbitMQ的N条消息,分别确认它们,然后退出,rabbitmq,amqp,stomp,reactphp,Rabbitmq,Amqp,Stomp,Reactphp,我将RabbitMQ与PHP react\stomp一起使用。我有两个队列——一个是“待办事项”,另一个是“完成”。消费者从“todo”中读取信息,完成工作,确认消息,然后将其发布到“done”队列 有没有办法确保我只使用来自“todo”的N条消息(并单独确认),然后退出?主要原因是我们不希望有长时间运行的使用者,我们希望在N条消息后重新启动它们。您可以为目标设置预回迁计数: 所有订阅的预回迁计数由设置为无限 违约这可以通过设置预回迁计数标题来控制 按所需整数计数订阅帧 因此,要仅使用十条消息

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


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

您可以为目标设置预回迁计数:

所有订阅的预回迁计数由设置为无限 违约这可以通过设置预回迁计数标题来控制 按所需整数计数订阅帧

因此,要仅使用十条消息,请添加标题

prefetch-count:10
订阅


您可以将确认模式设置为
客户端个人
,以便逐个消息手动确认。

这是正确的,但是我发现预回迁消息窗口重叠。当消费者处理第10条消息时,已经加载了另一个包含10条消息的窗口。一种解决方案是将预取计数设置为1,这意味着我们可以在每条消息的基础上控制消费者,并在消费了10条消息之后准确地停止。