我有一个主管正在处理一个依赖于 Redis 可用的队列进程。当我重新启动服务器(Ubuntu 18.04)时,Redis 服务器在 Supervisor 之前退出,并且由于缺少 Redis 服务器,队列进程在 Slack 中向我发送了数百个错误的垃圾邮件。
我需要在 Supervisor 子进程中使用的其他服务之前设置 Supervisor 退出,这样我就不会收到所有这些错误。我知道它应该在 systemd 中,但到目前为止还没有这样做,也找不到在 Google 中找到它的好方法。
答案1
systemd
停止期间反转启动顺序。即,如果您有supervisor
服务单元,After=redis
那么将在关闭supervisor
之前停止。 redis
(或者添加Before=supervisor
到redis
服务单元)。
从info systemd.unit
之前=,之后=
[...] 请注意,当两个具有顺序依赖性的单元被关闭时,将应用启动顺序的相反顺序。 [...]