我有以下配置,可以让进程连续运行。显然,它工作得很好,但几个小时或有时几分钟后,该过程就会终止。
非常感谢任何形式的帮助。
主管配置:
[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
。