2016-03-10 2 views
0

У меня есть сервер, который работает и использует диспетчер в качестве менеджера процессов для моих потребителей. Кроме того, я хочу иметь файл /etc/cron.d/restart_consumers, который выполняется ежедневно.Выполнение Cron перезапускает процесс Supervisor

restart_consumers файл выглядит следующим образом:

#Ansible: daily restart of test_consumer 
0 20 * * * root supervisorctl restart test_consumer 

Когда я использую sudo supervisorctl restart test_consumer он говорит остановку и запуск и в supervisorctl status выходе можно увидеть продолжительность работы за несколько секунд.

Когда Cron работает в 8 часов вечера, время работы test_consumer превышает один день. Так что это не выполнялось.

Если установить уровень протоколирования хрон 1 я получаю следующую запись в лог-файл, который выглядит отлично:

2016-03-09T20:00:01.377430+00:00 localhost /USR/SBIN/CRON[4762]: (root) CMD (supervisorctl restart test_consumer) 

может кто-нибудь сказать мне, как я получаю мой хрон перезапустить супервизора процессы?

Перезапуск службы cron не помог.

Заранее спасибо, и если вам нужна дополнительная информация, не стесняйтесь спрашивать.

ответ

1

Решил мою проблему. Хрон нужен абсолютный путь supervisorctl правильно выполнить задачу (вероятно, проблема окружающей среды хрон использует на исполнение)

работает команда:

#Ansible: daily restart of test_consumer 
0 20 * * * root /usr/local/bin/supervisorctl restart test_consumer 

Потребитель теперь правильно перезапущен по cron.

Смежные вопросы