Current section

Files

Jump to
nebulex_cluster lib nebulex_cluster node_supervisor.ex
Raw

lib/nebulex_cluster/node_supervisor.ex

defmodule NebulexCluster.NodeSupervisor do
@moduledoc false
use Supervisor
alias NebulexCluster.Pool
## API
@doc false
def start_link({module, opts}) do
name = Keyword.fetch!(opts, :name)
Supervisor.start_link(__MODULE__, {module, opts}, name: name)
end
## Supervisor Callbacks
@impl true
def init({module, opts}) do
module
|> Pool.children(opts)
|> Supervisor.init(strategy: :one_for_one)
end
end