私は[program:A]、[program:B]supervisord.conf に
B依存A、意味:
Aの前に開始する必要がありBます。
スーパーバイザーがこれを保証する方法は?
私は[program:A]、[program:B]supervisord.conf に
B依存A、意味:
Aの前に開始する必要がありBます。
スーパーバイザーがこれを保証する方法は?
supervisord依存関係を直接サポートしていません。代わりのオプションは次のとおりです。
優先順位を使用します。を低い値に設定priorityすると、 の前に開始され、 の後にシャットダウンされます。のデフォルト値はです。ABBpriority999
2 つのプログラムを 1 つのグループに入れると、開始と停止の順序を優先順位で調整して、同時に開始と停止を行うことができます。
-to- transition とのイベントをリッスンするイベント リスナーを作成し、それらのイベントに従って開始と停止を指示します。の自動起動を行いますが、イベント ハンドラが制御できるように自動起動を無効にします。PROCESS_STATE STARTINGRUNNINGSTOPPINGAsupervisordBAB
これは私にとって素晴らしい解決策です!
私が使用した回避策は
autostart=false、プロセスを設定してから、ブートストラップ スクリプトをautostart=trueand で作成することですautorestart=false(ワンショット)。supervisorctl startブートストラップは、各プロセスを呼び出すシェル スクリプトにすることができます。supervisorctl startプロセスが正常に開始されるまでブロックします。