Supervisord 麦克斯尝试过自动恢复吗?
表示可以使用autorestart=true在退出时重新启动,但没有说明在放弃之前如何给出最大重启次数(在startsecs内)。有办法做到这一点吗?注意:我说的不是第一次启动,而是一个程序在正常运行10天后崩溃的事件 根据文档,autorestart不关心Supervisord 麦克斯尝试过自动恢复吗?,supervisord,Supervisord,表示可以使用autorestart=true在退出时重新启动,但没有说明在放弃之前如何给出最大重启次数(在startsecs内)。有办法做到这一点吗?注意:我说的不是第一次启动,而是一个程序在正常运行10天后崩溃的事件 根据文档,autorestart不关心startretries: autorestart控制supervisord是否在以下情况下自动重新启动程序: 它在成功启动后退出(进程处于 运行状态) supervisord有一种不同的重启机制,用于在进程启动时重启 正在启动(进程处于启动
startretries
:
autorestart控制supervisord是否在以下情况下自动重新启动程序:
它在成功启动后退出(进程处于
运行状态)
supervisord有一种不同的重启机制,用于在进程启动时重启
正在启动(进程处于启动状态)。重试
进程启动由startsecs和startretries控制
我认为您需要的是使用startreetries参数
致以最诚挚的问候除程序配置外,您还应使用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)。它实际上与autorestart一起工作吗?我阅读autorestart文档的方式,startretries(现在粘贴到我的答案中)在运行状态下不应该有效果。是的。。我忘了谈论startsec参数,它允许您控制从开始到运行状态的移动。有了星际旅行和星际旅行的结合,我想你可以做你想做的事。。你是说一个在10小时后崩溃的程序会回到开始阶段吗?不,它会回到退出阶段!然后,如果配置了autorestart,则进程应重新启动以移动到运行状态。任何人都知道为什么主管无法启动一个程序(工作程序),该程序在最大程度尝试重新启动后将程序置于致命状态?你是说
startreetries
实际上会影响启动期间的两次重新启动,并在程序成功启动且处于运行状态后重新启动?文档明确指出“进程启动期间的重试由startsecs和startretries控制”,但在运行期间没有任何内容。