如何让supervisord在USR2滚动重启后跟随新的独角兽进程?

如何让supervisord在USR2滚动重启后跟随新的独角兽进程?

我已经配置了supervisord来跟踪我的unicorn服务器进程。当我发送USR2进程时,它会执行滚动重启。在此操作之后,旧的unicorn master已经重新启动,然后更改了PID。

这导致主管认为独角兽进程已退出,从而失去了对它的追踪。

在此操作之后,我怎样才能让 Supervisord 跟踪新的独角兽进程?

Unicorn 有一个可用的 PID 文件,但我在 Supervisord 配置中没有找到这个选项。

另一种选择是让 Supervisord 向自己发送 USR2 信号,但我不知道如何执行此操作以及它是否可以防止我的问题发生。

答案1

看起来这个案子可以由pidproxy程序。文档中的示例是:

[program:mysql]
command=/path/to/pidproxy /path/to/pidfile /path/to/mysqld_safe

据推测这对独角兽来说也可以起到同样的作用。

相关内容