Redisを使用するキュープロセスを操作するスーパーバイザーがいます。サーバーを再起動すると(Ubuntu 18.04)、Redisサーバーはスーパーバイザーより前に終了し、キュープロセスは欠落しているRedisサーバーのためにSlackから何百ものエラーでスパムを送信しました。
これらのエラーがすべて発生しないように、スーパーバイザサブプロセスで使用される他のサービスの前にシャットダウンするようにスーパーバイザを設定する必要があります。私はそれがsystemdになければならないことを知っていますが、これまでやっていないので、Googleで見つけるための良い方法を見つけることができません。
答え1
systemd
停止中は始動シーケンスを逆にします。つまり、supervisor
サービスデバイスがある場合は、終了する前に停止しますAfter=redis
。 (またはサービスユニットに追加)supervisor
redis
Before=supervisor
redis
~からinfo systemd.unit
=前、=後
[...] 順次依存関係を持つ 2 つのデバイスがシャットダウンすると、開始順序の逆が適用されます。 [...]