Задать вопрос
@Xveeder

Как переслать сообщения из одной очереди в другую?

Доброго времени суток!

Допустим, есть очередь, некоторые сообщения в ней не получается обработать и они ложатся в другую очередь через DLX. Перенос сообщений устроен таким образом, что сообщения остаются в очереди для ошибок без ретраев. Скажите, как можно программно при необходимости перенести все/часть сообщений из "ошибочной" очереди в целевую?

Спасибо!
  • Вопрос задан
  • 399 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Merion Academy
    RabbitMQ для разработчиков и DevOps
    4 месяца
    Далее
  • OTUS
    RabbitMQ для разработчиков и администраторов
    3 месяца
    Далее
  • Учебный центр IBS
    JVA-059 RabbitMQ для разработчиков
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
@yarkin
1) Если "не получается обработать" это котролируемый процесс, то можно использовать команды basic.reject или basic.nack с флагом requeue=true, чтобы сообщение попало обратно в рабочую очередь.
2) Можно использовать тот же механизм DLX на очереди с ошибками вместе, например, с TTL. Сообщение попадает в очередь ошибок, лежит там, папример, 10 минут, а потом обратно перекидывается в рабочую очередь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы