Supervisord 成功运行后删除进程

Supervisord 成功运行后删除进程

我有以下配置,可以让进程连续运行。显然,它工作得很好,但几个小时或有时几分钟后,该过程就会终止。

非常感谢任何形式的帮助。

主管配置:

[program:action_consumer]
process_name=%(program_name)s_%(process_num)02d
command = php /var/www/the_api/web/index.php actionCron
numprocs = 2
autostart=true
autorestart=true
user=console_api
redirect_stderr=true
stdout_logfile=/var/www/the_api/logs/action_consumer.log
RestartSec=3
Restart=3
WatchdogSec=3

操作系统信息:

Debian GNU/Linux 8 (杰西)

日志文件: 日志文件包含以下错误:

FATAL state, too many start retries too quickly

重要的:

很明显,进程终止得太快了,这是我的要求。我不想无限循环运行脚本。设置startretries的解决方案是否有效?

答案1

如果竞赛条件的时间范围小于一秒,则进行设置startretries=<number you want>。但是,如果需要,您可以将其设置为更高的值。下面是一个例子。

[program:test]
startretries=10

答案2

由于问题是执行时间为 0 秒。大多数情况下,脚本会在 0 秒内执行,因此主管会终止它。我通过添加解决了这个问题startsecs=0

相关内容