自定义 upstart“重启”命令

自定义 upstart“重启”命令

我希望在 upstart 重新启动进程时运行与启动进程时不同的命令。具体来说,我正在使用 Thin,并且想执行滚动重新启动(通过不同的命令内置到 Thin),而不是停止/启动。

这对于 upstart 来说可行吗,还是我需要开始寻找其他解决方案?

答案1

这不可能。Job 本身并不知道它正在重新启动。

我建议你使用两个不同的作业。Job A一个执行第一个变体,Job B另一个在失败时启动。如果失败,事件Job A中会附加额外信息(请参阅stoppingJob Ahttp://upstart.ubuntu.com/cookbook/#id109),因此Job B应有start on如下节:

start on stopping JobA RESULT=failed

respawn

保持下去。根本respawn不应该添加。Job A

如果成功退出,作业将不会启动Job A,但仅在出现错误的情况下才会启动。

相关内容