Выбор ответа Middle Кеш и очереди обновлено
Как повторять упавшие задачи
Вопрос
Внешний API временно отвечает 503. Как правильно настроить повторы задач в очереди?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Экспоненциальная пауза с разбросом, лимит, затем DLQ. Растущая пауза (например, 1, 2, 4, 8 секунд) даёт сервису восстановиться, а случайный разброс не даёт всем задачам ударить одновременно.
Варианты ответа
- Повторять сразу, без пауз, пока не получится
- Не повторять: если упало, значит задача неверная
- Экспоненциальная пауза с разбросом, лимит, затем DLQправильный ответ
- Повторять раз в сутки бесконечно до успеха
Разбор
Растущая пауза (например, 1, 2, 4, 8 секунд) даёт сервису восстановиться, а случайный разброс не даёт всем задачам ударить одновременно. После лимита попыток задача уходит в DLQ, где её разберут, а не крутят вечно.
- Мгновенные повторы добивают упавший сервис.
- Временные ошибки как раз и надо повторять.
- Бесконечные повторы раз в сутки скрывают проблему и копят задачи.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.