Cron Job无法重启Supervisor Process

时间:2016-03-10 08:56:36

标签: cron supervisord supervisor

我有一台服务器在运行并使用supervisor作为我的消费者的流程管理器。 另外我想要一个每天执行的/etc/cron.d/restart_consumers文件。

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的运行时间超过一天。所以它没有执行。

如果我将cron日志级别设置为1,我会在日志文件中看到以下条目,看起来很好:

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

任何人都可以告诉我如何让我的cron重新启动管理程序进程吗?

重新启动cron服务没有帮助。

提前致谢,如果您需要更多信息,请随时提出。

1 个答案:

答案 0 :(得分:2)

解决了我的问题。 cron作业需要supervisorctl的绝对路径来正确执行任务(可能是cron在执行时使用的环境问题)

工作命令是:

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

消费者现在已被cron正确重启。