Получите только N сообщений от RabbitMQ с реакцией \stomp, проверьте их отдельно и выйдите

Я использую RabbitMQ с PHP реагировать \stomp. У меня есть две очереди - одна "todo" другая "done". Потребитель читает из "todo", выполняет свою работу, подтверждает сообщение, а затем публикует его в очереди "done".

Есть ли способ убедиться, что я потребляю только N сообщений от "todo" (и подтверждаю их индивидуально), а затем прекращаю работу? Основная причина этого в том, что мы не хотим иметь долго работающих потребителей и хотим перезапустить их после N сообщений.

1 ответ

Вы можете установить количество предварительных выборок для пункта назначения:

Счетчик предварительной выборки для всех подписок по умолчанию не ограничен. Это можно контролировать, установив заголовок prefetch-count в кадрах SUBSCRIBE на желаемый счетчик целых чисел.

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

Чтобы потреблять только десять сообщений, добавьте заголовок

prefetch-count:10

к SUBSCRIBE Рамка.

Вы можете установить режим подтверждения client-individual для подтверждения сообщения вручную.

Другие вопросы по тегам