我在 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