Как я могу перевести сообщения UnAck в состояние готовности в RabbitMQ - PullRequest
0 голосов
/ 22 февраля 2020

Некоторые сообщения застряли в состоянии UnAck в RabbitMQ. Есть ли способ перевести их в состояние готовности без перезапуска приложения-потребителя или без перезапуска сервера RabbitMQ?

1 Ответ

0 голосов
/ 23 февраля 2020

Unacked состояние буквально означает, что сообщения используются и ожидают подтверждения, то есть обновления статуса. Если ваши сообщения застряли в этом состоянии, это, скорее всего, означает, что ваши потребители не предоставили соответствующие подтверждения для этого сообщения.

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

  • ack сообщение. Это сигнализирует RabbitMQ, что сообщение было успешно обработано / использовано и может быть извлечено из очереди. См. Сообщение https://www.rabbitmq.com/amqp-0-9-1-quickref.html#basic .ack
  • reject или nack. Это указывает на то, что сообщение не было обработано правильно и должно быть «без букв» или «повторно помещено в очередь», в зависимости от конфигурации сообщения / очереди. См. https://www.rabbitmq.com/amqp-0-9-1-quickref.html#basic .reject

Кроме того, вы также можете установить TTL для своих сообщений, в этом случае они будут автоматически reject, если их время в очереди превышать их TTL. Смотрите здесь https://www.rabbitmq.com/ttl.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...