Просто для уточнения вещи - я работаю над systemd сервисным файлом celerybeat.service
который должен заботиться об ударе Сельдерея. Что я делаю, в данный момент называет сценарий, который читает /var/run/celery/celerybeat.pid
, уничтожает процесс со что PID и затем запускает процесс удара Сельдерея снова.
Существует ли лучший способ выполнить это?
Что мы делаем, так это запускаем сельдерей следующим образом (наше приложение для сельдерея находится в server.py):
python -m server --app=server multi start workername -Q queuename -c 30 --pidfile=celery.pid --beat
Что запускает процесс «сельдерей» с 30 рабочими процессами и сохраняет pid в сельдерее .pid.
Затем мы можем вызвать это для чистого выхода:
celery multi stop workername --pidfile=celery.pid