11

私の質問は、リリース アップグレード シナリオとは別に、既に実行中のスーパーバイザの再起動強度のしきい値を変更できますか。

前に出たことはありませんが、最初は子なしでスーパーバイザーを実行しているため、別のプロセスが Supervisor:start_child/2 を介して子を開始するため、私の sup init/1 は次のようになります。

init([]) ->
    RestartSt = {simple_one_for_one, 10, 10},
    ChSpec = [foo, {foo,start_link,[]}, transient, 1000, worker, [foo]}],
    {ok, {RestartSt, ChSpec}}.

スーパーバイザーの起動時には、予想される子供の数は不明です。確かに、10 から 10,000、またはそれ以上まで劇的に変化する可能性があります。

たとえば 20 の再起動強度は、10 人の子供には十分な量ですが、たとえば 10,000 人の子供の場合は、それを増やしたいと思います... 通常の終了により子供の数が減少するにつれて、それを減らします。

4

2 に答える 2

1

1 つの解決策は、スーパーバイザーをネストすることです。しかし、主な問題は、この再起動強度によって何を達成したいのかということです. スーパーバイザーを強制終了したいときの強度は、必要なリソースが予期せず利用できないなど、何か非常に悪いことを示している必要があります。

于 2015-10-19T11:15:47.133 に答える