supervisord:在另一个程序运行之前不要启动另一个程序

supervisord:在另一个程序运行之前不要启动另一个程序

我在 Ubuntu 上使用 Supervisor 来监控多个程序。是否可以配置 Supervisor,使其在另一个特定程序成功启动之前不启动某个程序?

即我只想在 Zookeeper 启动后运行 Kafka。

答案1

据我所知,你不能这样做。请参阅此问题: https://github.com/Supervisor/supervisor/issues/122

一位评论者建议将所有程序的 autostart 设置为 false,只保留一个程序,它负责以正确的顺序启动所有其他程序(我猜是使用 Supervisorctl 或者 API)。

答案2

我不确定主管能否确保这一点,但请尝试指定 Zookeeper 的优先事项比 Kafka 的更低,像这样:

[program:Zookeeper]
command=xx
priority=1
autostart = true
autorestart = true

[program:Kafka]
command=yy
priority=999
autostart = true
autorestart = true

相关内容