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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。