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





В производственной среде вы должны запускать Celery, Beat, сервер приложений и т. д. в качестве демонов [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 starts processes as its subprocesses, and can be configured to automatically restart them on a crash. (...)
Источник: http://supervisord.org/introduction.html#introduction