Supervisor 包在 Ubuntu 16.04 上启动进程失败

Supervisor 包在 Ubuntu 16.04 上启动进程失败

我已经安装了Supervisor适用于 Ubuntu 的软件包,因为有人在 serverfault 上向我推荐了这个软件包,以使我的所有进程始终保持活动状态。

但是使用两天后我通过supervisorctl命令看到:10 个进程中有 4 个出现致命错误并且无法运行。

...
sync   FATAL     Exited too quickly (process log may have details)

我重启了所有进程,它们都成功恢复了。那么为什么我Supervisor没有这样做呢?如何设置永久恢复损坏的进程?或者我应该使用什么来一直尝试恢复进程而不超时,即使进程一直失败?因为数据库连接即使在 8 小时后也可以恢复,所以它应该一直尝试访问数据库而不退出。

答案1

那么为什么主管没有这么做呢?

Supervisor 确实尝试重新启动您的进程,但是它们退出得太快,因此在尝试了配置的次数后就放弃了。

如何设置永久恢复中断的进程?

您可以将startretries值从默认值 3 增加到更高的数字,这样主管就不会太快放弃。但首先,您应该检查您尝试重新启动的进程的日志,并检查为什么它三次启动这些默认值失败。

或者我应该用什么来一直尝试恢复过程而不发生任何超时,即使该过程一直失败?

不要这样做 - 修复任何阻止进程正常运行的问题。盲目重启不会有任何效果。如果您确实需要这种行为(这值得怀疑),请探索 systemd 服务。

相关内容