Какой рекомендуемый способ справиться с перезапусками Heroku на рабочем месте? - PullRequest
0 голосов
/ 18 марта 2019

Я знаком с политикой Heroku при перезапуске dyno (один раз каждые 24 часа, если происходит сбой базового оборудования и т. Д.).

Я также искал в других местах Stackoverflow и нашел вопросынаподобие Управление случайным перезапуском динамометров в Heroku .

Наши приложения хороши с точки зрения Интернета - сеансы обрабатываются через внешнюю базу данных, а несколько динамометрических систем идеально сбалансируют нагрузку.Перезагрузки не проблема там.Вопрос работников .Например, наш работник получает сообщение и начинает обработку задания.Это сделано на 99%, ожидая окончательного асинхронного запроса на возврат и получает SIGTERM.Прежде чем он может даже очистить работу, процесс убит.Код может выполнять локальную очистку для задания, которое необходимо перезапустить, но внешние службы не могут быть частью транзакции.

Например, если был создан отчет и отправлено электронное письмо, но третья асинхронная операция не была завершена до SIGTERM, я не могу откатить эту транзакцию.В случае сбоев оборудования или других редких событий понятно, что многошаговая транзакция может быть обрезана, но с политикой Heroku кажется, что я должен предполагать, что это будет происходить, по крайней мере, один раз в день.Может ли кто-нибудь помочь мне лучше справиться с этой проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...