http://supervisord.org/configuration.html#program-x-section-values表示您可以使用autorestart = true在退出时重新启动,但是在放弃之前没有说明如何在startsecs内提供最大量的重启()。有没有办法做到这一点?注意:我不是在谈论第一次启动,而是关于程序崩溃的事件,比如说,运行10天。
根据文档,autorestart并不关心startretries
:
autorestart控制supervisord是否会自动重启程序if 它在成功启动后退出(该过程在 运行状态)。
supervisord在进程的时候有一个不同的重启机制 启动(该过程处于STARTING状态)。重试期间 流程启动由startsecs和startretries控制。
答案 0 :(得分:1)
我认为你需要的是使用startretries参数..
http://supervisord.org/configuration.html?highlight=startretries#program-x-section-example
最好的问候
答案 1 :(得分:1)
除了程序配置外,您还应该使用startretries:
[program:consumer_example]
command=command example
process_name=%(program_name)s_%(process_num)02d
numprocs=1
autostart=true
autorestart=true
startretries=10
user=USERNAME
如您所见,我将startretries与10一起使用,当您不通知程序时,它将使用默认值(3)。