当您使用supervisord启动进程时,它处于"STARTING"状态,然后如果遇到问题,如果autorestart设置为true,则进入"BACKOFF"状态.
我不想等待尝试"startretries",我想使用supervisorctl手动停止重启过程.我发现这样做的唯一方法是停止整个supervisord服务并重新启动它(如果没有自动启动,每个进程都处于"STOPPED"状态).
有没有更好的方法(从"BACKOFF"状态强制"停止"状态),因为我有其他在supervisord管理的进程,我不想停止?
如果我试图阻止它
supervisorctl stop process
Run Code Online (Sandbox Code Playgroud)
我明白了
FAILED: attempted to kill process with sig SIGTERM but it wasn't running
Run Code Online (Sandbox Code Playgroud)
如果我尝试启动它
supervisorctl start process
Run Code Online (Sandbox Code Playgroud)
我明白了
process: ERROR (already started)
Run Code Online (Sandbox Code Playgroud)
当然我可以禁用autorestart,但它可能很有用,解决方法是限制startretries,有更好的解决方案吗?
小智 2
嘿,这也许对你有帮助:
当自动重启进程处于BACKOFF状态时,它会被supervisord自动重启。它将在 STARTING和BACKOFF状态之间切换,直到明显无法启动,因为启动重试次数已超过最大值,此时它将转换为 FATAL 状态。每次启动重试将逐渐花费更多时间。
所以你不需要手动停止 BACKOFF 过程。如果不想等待太久,最好设置一点startretries的次数。
在此处查看更多信息: http: //supervisord.org/subprocess.html
好LCUKY
| 归档时间: |
|
| 查看次数: |
8216 次 |
| 最近记录: |