Главная · Каталог задач · Очереди и повторы RabbitMQ

Готовый сценарий

Очереди и повторы RabbitMQ

Повторы в RabbitMQ нужно проектировать вместе с обработкой результата и подтверждением доставки. Енотик поможет описать рабочую очередь, задержки и окончательный отказ. Учебная задача получает одну начальную попытку и три повтора через 10, 60 и 300 секунд. Немедленный requeue может создать горячий цикл, а подтверждение исходного сообщения до надёжной передачи на повтор — потерю работы. Точная схема зависит от типа очереди, версии и выбранного механизма задержки.

Попробуйте прямо здесь Отвечает Gemma 3 12B — модель подобрал сервис

Открыть в полном чате

  • Доступ без VPN
  • Русский интерфейс
  • Оплата рублями по факту

Зачем

Зачем это нужно

01

Явно посчитайте общее число выполнений вместе с начальной попыткой.

02

Разделите подтверждение публикации и подтверждение обработки потребителем.

03

Проверьте ошибки самого механизма повтора, а не только основной задачи.

Вопросы

Частые вопросы

Как описать понятную топологию повторов?

«Учебное сообщение op-17 при временном отказе получает три дополнительные попытки с задержками 10, 60 и 300 секунд, после чего остаётся для разбора». Попросите таблицу маршрутов и счётчик попыток. Проверяемый результат — не более четырёх выполнений по этому правилу, сохранённая причина отказа и отсутствие немедленного бесконечного возврата неисправного сообщения в основную рабочую очередь.

Почему ack и publisher confirm нельзя путать?

Они относятся к разным сторонам доставки: приёму публикации брокером и завершению обработки потребителем. Подтверждение одного этапа не доказывает выполнение другого. Попросите разобрать потерю соединения после публикации и после записи результата. В обоих случаях возможна неопределённость и повтор, поэтому обработчик должен иметь согласованную защиту от недопустимого дублирования по устойчивому идентификатору операции, а не по памяти одного процесса.

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

Опишите допустимое окно и механизм: отдельные очереди с TTL и маршрутом либо другой поддерживаемый вариант. Реальное время зависит от очереди и нагрузки. Попросите проверить, что сообщения не возвращаются раньше согласованного условия и не блокируют новые задачи бесконечным ожиданием. Sleep внутри занятого воркера имеет другую цену, поэтому его нельзя считать эквивалентом отложенной доставки на стороне брокера.

Что делать с окончательными отказами?

Сохраняйте идентификатор, причину и безопасный контекст, настройте наблюдение и процедуру повторной публикации после исправления причины. Автоматическое возвращение всего карантина создаёт прежний цикл заново. Енотик поможет описать сценарии, но не настраивает ваш брокер и не гарантирует сохранность одной декларацией durable. Проверьте падение узла, маршрутизацию и подтверждения в соответствии с выбранным типом очереди и требованиями системы.

Рядом

Дальше — весь каталог задач: поиск по названию, темы и фильтры.

Нужно больше

Весь Енотик — в одном окне

Полный чат: история, вложения, базы знаний, картинки и видео. Один баланс на все модели, оплата рублями по факту.