Выбор ответа Middle Кеш и очереди обновлено

Как повторять упавшие задачи

Вопрос

Внешний API временно отвечает 503. Как правильно настроить повторы задач в очереди?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Экспоненциальная пауза с разбросом, лимит, затем DLQ. Растущая пауза (например, 1, 2, 4, 8 секунд) даёт сервису восстановиться, а случайный разброс не даёт всем задачам ударить одновременно.

Варианты ответа

  1. Повторять сразу, без пауз, пока не получится
  2. Не повторять: если упало, значит задача неверная
  3. Экспоненциальная пауза с разбросом, лимит, затем DLQправильный ответ
  4. Повторять раз в сутки бесконечно до успеха

Разбор

Растущая пауза (например, 1, 2, 4, 8 секунд) даёт сервису восстановиться, а случайный разброс не даёт всем задачам ударить одновременно. После лимита попыток задача уходит в DLQ, где её разберут, а не крутят вечно.

  • Мгновенные повторы добивают упавший сервис.
  • Временные ошибки как раз и надо повторять.
  • Бесконечные повторы раз в сутки скрывают проблему и копят задачи.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.