當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Elixir DynamicSupervisor.init用法及代碼示例


Elixir語言中 DynamicSupervisor.init 相關用法介紹如下。

用法:

init(options)
(從 1.6.0 開始)
@spec init([init_option()]) :: {:ok, sup_flags()}

接收一組options,初始化一個動態監督者。

這通常在基於模塊的監督者的 init/1 回調結束時調用。有關詳細信息,請參閱模塊文檔中的“基於模塊的監督者”部分。

start_link/1 也支持此函數接收的 options

此函數返回一個包含主管選項的元組。

例子

def init(_arg) do
  DynamicSupervisor.init(max_children: 1000, strategy: :one_for_one)
end

選項

  • :strategy - 重啟策略選項。唯一支持的值是:one_for_one,這意味著如果子進程終止,則不會終止其他子進程。您可以在 Supervisor 模塊文檔中了解有關策略的更多信息。

  • :max_restarts - 在一個時間範圍內允許的最大重啟次數。默認為 3

  • :max_seconds - :max_restarts 適用的時間範圍。默認為 5

  • :max_children - 同時在這個主管下運行的最大孩子數量。當 :max_children 超出時, start_child/2 返回 {:error, :max_children} 。默認為 :infinity

  • :extra_arguments - 附加到給 start_child/2 的子規範中指定的參數的參數。默認為空列表。

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 DynamicSupervisor.init(options)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。