Elixir语言中 Supervisor.init
相关用法介绍如下。
用法:
init(children, options)
(从 1.5.0 开始)
@spec init([:supervisor.child_spec() | {module(), term()} | module()], [init_option()]) ::
{:ok, tuple()}
接收要初始化的 children
列表和一组 options
。
这通常在基于模块的监督者的
回调结束时调用。有关更多信息,请参阅模块文档中的“基于模块的监督者”和“start_link/2、init/2 和策略”部分。init/1
此函数返回一个包含主管标志和子规范的元组。
例子
def init(_init_arg) do
children = [
{Stack, [:hello]}
]
Supervisor.init(children, strategy: :one_for_one)
end
选项
-
:strategy
- 监督策略选项。它可以是:one_for_one
、:rest_for_one
或:one_for_all
-
:max_restarts
- 在一个时间范围内允许的最大重启次数。默认为3
。 -
:max_seconds
-:max_restarts
适用的时间范围(以秒为单位)。默认为5
。
:strategy
选项是必需的,默认情况下最多允许在 5 秒内重新启动 3 次。查看
模块以获取可用策略的详细说明。Supervisor
相关用法
- Elixir Supervisor.Spec.worker用法及代码示例
- Elixir Supervisor.child_spec用法及代码示例
- Elixir Supervisor.Spec用法及代码示例
- Elixir Supervisor.Spec.supervise用法及代码示例
- Elixir Supervisor.Spec.supervisor用法及代码示例
- Elixir Supervisor用法及代码示例
- Elixir StringIO.flush用法及代码示例
- Elixir Stream用法及代码示例
- Elixir String.contains?用法及代码示例
- Elixir String.reverse用法及代码示例
- Elixir Stream.drop_while用法及代码示例
- Elixir String.to_integer用法及代码示例
- Elixir System.stop用法及代码示例
- Elixir Stream.map_every用法及代码示例
- Elixir Stream.iterate用法及代码示例
- Elixir String.pad_trailing用法及代码示例
- Elixir Stream.dedup_by用法及代码示例
- Elixir Stream.interval用法及代码示例
- Elixir String.split_at用法及代码示例
- Elixir String.valid?用法及代码示例
- Elixir String.replace_prefix用法及代码示例
- Elixir String.printable?用法及代码示例
- Elixir Stream.zip用法及代码示例
- Elixir System.fetch_env!用法及代码示例
- Elixir String.replace_trailing用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Supervisor.init(children, options)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。