33

私は[program:A][program:B]supervisord.conf に

B依存A、意味:

Aの前に開始する必要がありBます。

スーパーバイザーがこれを保証する方法は?

4

4 に答える 4

32

supervisord依存関係を直接サポートしていません。代わりのオプションは次のとおりです。

  • 優先順位を使用します。を低い値に設定priorityすると、 の前に開始され、 の後にシャットダウンされます。のデフォルト値はです。ABBpriority999

    2 つのプログラムを 1 つのグループに入れると、開始と停止の順序を優先順位で調整して、同時に開始と停止を行うことができます。

  • -to- transition とのイベントをリッスンするイベント リスナーを作成し、それらのイベントに従って開始と停止を指示します。の自動起動を行いますが、イベント ハンドラが制御できるように自動起動を無効にします。PROCESS_STATE STARTINGRUNNINGSTOPPINGAsupervisordBAB

于 2013-07-03T09:21:29.083 に答える
3

これは私にとって素晴らしい解決策です!

私が使用した回避策はautostart=false、プロセスを設定してから、ブートストラップ スクリプトをautostart=trueand で作成することですautorestart=false(ワンショット)。supervisorctl startブートストラップは、各プロセスを呼び出すシェル スクリプトにすることができます。supervisorctl start プロセスが正常に開始されるまでブロックします。

于 2016-07-20T14:07:02.710 に答える