@maxtwen

Какие есть хорошие практики автоматизации повтора действий завершившихся с ошибкой?

Как автоматизировать повтор действия на всякие разные фейлы, например не доступна база, не доступно одностороннее API, или второе, или еще какой-нибудь из компонентов?

У меня нет конкретного примера задачи, которую надо решить, но думаю что у многих есть примеры из жизни когда они решали подобные задачи. Интересуют как ваши истории так и общепринятые практики, если они есть. Вопросом интересуюсь чисто в академических целях.
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 3
madmages
@madmages
Человек прямоходящий
у меня есть синхронизатор сайт<>1C. раз в сутки сайт идет в 1С и тянет кучу всякого. если один из запросов упал то попытка идет еще N раз, если все разы были ошибки то приложение падает. Ничего хитрого.
Ответ написан
Комментировать
qonand
@qonand
Software Engineer
обычно для реализации повторных попыток в случае неудачного выполнения операции используется паттерн Retryer
Ответ написан
Комментировать
Для работы в таких условиях хорошо подходит Модель Акторов. Её важной частью является понятие супервизирования. Дочерний актор - "рабочий" - реализует рискованную логику. Если он упал - супервизор решает, что делать дальше. Среди стандартных паттернов есть, например, ExponentialBackoff: пауза между попытками возрастает до достижения определённой величины (например, 5 минут) или лимита количества попыток.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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