当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。