Current section
Files
Jump to
Current section
Files
lib/manager/genserver/supervisor.ex
defmodule Virgil.Manager.Genserver.Supervisor do
@moduledoc false
use Supervisor
alias Virgil.Config
alias Virgil.Manager.GenserverManager
def init(_arg) do
children = Enum.map(Config.registered_circuits(), &build_circuit_spec(&1.circuit()))
Supervisor.init(children, strategy: :one_for_one)
end
def start_link(init_arg),
do: Supervisor.start_link(__MODULE__, init_arg, name: __MODULE__)
defp build_circuit_spec(%_{name: name} = circuit),
do: Supervisor.child_spec({GenserverManager, circuit}, id: name)
end