2016年11月16日水曜日

ElixirでSupervisor(スーパーバイザ)のstrategy(戦略)

ElixirSupervisor(スーパーバイザ)のstrategy(戦略)です。strategyとはなんぞやということで、調べてみました。

strategy()
strategy ::
  :simple_one_for_one |
  :one_for_one |
  :one_for_all |
  :rest_for_one
:one_for_one - 失敗した子プロセスのみを再起動します。
:one_for_all - 失敗したイベントの中にある全ての子プロセスを再起動します。
:rest_for_one - 失敗したプロセスと、そのプロセスより後に開始された全てのプロセスを再起動します。
:simple_one_for_one - 動的にアタッチされた子プロセスに最適です。スーパーバイザは1つだけ子プロセスを含む必要があります。

参考サイト
OTPスーパーバイザ(Elixir School)
Supervisor and Application(Elixir)
ElixirでのPlugの基本(その3)「Supervised handlers」

0 件のコメント:

コメントを投稿