Получение неподтвержденных сообщений потребителей в RabbitMQ - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь корректно завершить процесс, который потребляет сообщения от RabbitMQ. Я знаю, что могу использовать Channel.cancel, чтобы остановить RabbitMQ от отправки любых новых сообщений процессу, но мне также нужно иметь дело с любыми ожидающими, неподтвержденными сообщениями. Я мог бы просто позвонить на Channel.nackAll и поставить все в очередь, но было бы лучше, если бы я мог дождаться, пока все ожидающие сообщения - сообщения, которые были использованы, но еще не подтверждены / скопированы - были сделаны.

Есть идеи, как этого добиться?

1 Ответ

0 голосов
/ 15 марта 2020
  • Отмена потребителя
  • Подтвердите сообщения, над которыми вы в данный момент «работаете», когда работа будет завершена
  • По завершении вышеуказанного закройте каналы и соединения. Все, что не подтверждено, будет повторно поставлено в очередь RabbitMQ.

ПРИМЕЧАНИЕ: команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.

...