Как реализовать ретрай через брокер для долгого многоэтапного процесса, чтобы не повторять уже успешно выполненные тяжёлые шаги?

Сохраняйте состояние каждого этапа и его результат в устойчивом хранилище. При повторной доставке worker продолжает с незавершённого шага, а успешно выполненные этапы проверяет по сохранённому статусу.

Короткий ответ

Что ответить на собеседовании

Сохраняйте состояние каждого этапа и его результат в устойчивом хранилище. При повторной доставке worker продолжает с незавершённого шага, а успешно выполненные этапы проверяет по сохранённому статусу.

Подробный разбор

Ответ с пояснениями

Сохраняйте состояние каждого этапа и его результат в устойчивом хранилище. При повторной доставке worker продолжает с незавершённого шага, а успешно выполненные этапы проверяет по сохранённому статусу.

Сообщение содержит ID процесса, а не единственную копию его состояния. Переходы защищают версией или lease, внешние действия — idempotency key. Фиксацию этапа и постановку следующего сообщения связывают надёжно, например через outbox. Для ошибок задают backoff, предел попыток и ручной разбор. Если сбой произошёл после внешнего действия, но до записи успеха, нужна сверка результата, иначе тяжёлый шаг может повториться.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее