@Xveeder

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

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

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

Спасибо!
  • Вопрос задан
  • 286 просмотров
Пригласить эксперта
Ответы на вопрос 1
@yarkin
1) Если "не получается обработать" это котролируемый процесс, то можно использовать команды basic.reject или basic.nack с флагом requeue=true, чтобы сообщение попало обратно в рабочую очередь.
2) Можно использовать тот же механизм DLX на очереди с ошибками вместе, например, с TTL. Сообщение попадает в очередь ошибок, лежит там, папример, 10 минут, а потом обратно перекидывается в рабочую очередь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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