2016-02-12 9 views
7

В моем проекте Django я использую Celery и Rabbitmq для запуска задач в фоновом режиме. Я использую планировщик бильярда, чтобы выполнять периодические задания. Как я могу проверить, работает ли цикл сельдерея, программно?Проверьте, работает ли цикл измельчения сельдерея

+0

Почему вы хотите это сделать? Вы хотите проверить перед отправкой задания? –

+1

Одна из причин заключалась бы в том, чтобы начать переход на другой ресурс, если celerybeat не работал. Кажется, что это не приемлемый способ добиться этого. –

+2

Если это так, то лучше использовать 'supervisord' или что-то в этом роде. – trinchet

ответ

0

Вы можете проверить планировщик работает или нет с помощью следующей команды

python manage.py celery worker --beat 
0

Вы используете выскочка или что-то или руководство было еще запустить сельдерей рабочего + сельдерей бить в качестве фоновых задач? В производстве вы должны использовать один из них для того, чтобы работать с сельдереем, а также с сельдереем в фоновом режиме.

Простой способ проверки битума сельдерея: ps aux | grep -i '[c]elerybeat'. Если вы получаете текстовую строку с pid, она работает. Также вы можете сделать вывод этой команды более симпатичным: ps aux | grep -i '[c]elerybeat' | awk '{print $2}'. Если вы получите номер - он работает, если вы ничего не получите - он не работает.

Также вы можете проверить статус работников сельдерей: celery -A projectname status.

Если вы заинтересованы в улучшенном мониторинге сельдерея, вы можете прочитать официальную документацию monitoring руководство.

+0

Это не программно, хотя – guival

0

Если вы daemonized сельдерей после урока из celery doc, проверяя, если он работает или не может быть сделано через

sudo /etc/init.d/celeryd status 
sudo /etc/init.d/celerybeat status 

Вы можете использовать возвращение таких команд в модуле питона.

0

Возможно, вы найдете, что искали supervisor. Он предоставляет celerybeat conf, который записывает все, что связано с биением в /var/log/celery/beat.log.

Другой способ сделать это - использовать Flower. Вы можете настроить его для своего сервера (убедитесь, что его пароль защищен), несколько легче заметить в графическом интерфейсе задачи, которые находятся в очереди, и какое время они поставлены в очередь, таким образом проверяя, работает ли ваш бит.