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

Я использую Celery и Celerybeat на моем веб-сайте с поддержкой django.ОС сервера - Ubuntu 16.04.с помощью сельдерея, работа выполняется сельдереем каждые 10 минут.иногда рабочий отключается без каких-либо полезных сообщений журнала или ошибок.Итак, я хочу найти способ для определения состояния (вкл / выкл) работника сельдерея (не Beat), и если он остановлен, перезапустите его автоматически.Как мне это сделать?спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

В производственном процессе вы должны запускать Celery, Beat, ваш сервер APP и т. Д. В качестве демонов [1], используя Supervisor / Upstart / Systemd / ... / .... Об этом есть раздел в документации Celery.[2]

Мой любимый инструмент - Supervisord [3].Вот пример конфигурации Supervisord для Celery: https://github.com/celery/celery/tree/master/extra/supervisord, а здесь https://github.com/illagrenan/ubuntu-supervisor-configuration - руководство по установке Supervisord в Ubuntu.

(...) Supervisord запускает процессы как своиподпроцессы, и могут быть настроены на автоматический перезапуск их в случае сбоя.(...)

Источник: http://supervisord.org/introduction.html#introduction

...