Elixir语言中 Supervisor.child_spec
相关用法介绍如下。
用法:
child_spec(module_or_map, overrides)
@spec child_spec(
child_spec() | {module(), arg :: term()} | module(),
keyword()
) :: child_spec()
构建并覆盖子规范。
与
和 start_link/2
类似,它需要 init/2
module
、 {module, arg}
或映射作为子规范。如果给出了模块,则通过调用 module.child_spec(arg)
来检索规范。
检索到子规范后,overrides
上的字段将直接应用于子规范。如果 overrides
具有未映射到任何子规范字段的键,则会引发错误。
请参阅模块文档中的 "Child specification" 部分,了解所有可用于覆盖的键。
例子
当需要在监督树中多次启动同一个模块时,该函数通常用于设置:id
选项:
Supervisor.child_spec({Agent, fn -> :ok end}, id: {Agent, 1})
#=> %{id: {Agent, 1},
#=> start: {Agent, :start_link, [fn -> :ok end]}}
相关用法
- Elixir Supervisor.Spec.worker用法及代码示例
- Elixir Supervisor.init用法及代码示例
- 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.child_spec(module_or_map, overrides)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。