lib/markov/sup.ex
defmodule Markov.Sup do
use Supervisor
@moduledoc "Main supervisor"
require Logger
def start_link(args) do
Supervisor.start_link(__MODULE__, args, name: __MODULE__)
end
def stop do
Supervisor.stop(__MODULE__)
end
@impl true
def init(_init_arg) do
children = [
{DynamicSupervisor, name: Markov.ModelSup},
{Registry, keys: :unique, name: Markov.ModelServers},
Markov.DictionaryHolder
]
Supervisor.init(children, strategy: :one_for_one)
end
end