defmodule RoomZeus.ScribusSupervisor do
use DynamicSupervisor
def start_link(init_arg) do
DynamicSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__)
end
def start_child(instance_id) do
spec = {RoomScribus.Timer, [name: instance_id]}
DynamicSupervisor.start_child(__MODULE__, spec)
end
@impl true
def init(_init_arg) do
Periodic.start_link(
every: :timer.seconds(10),
run: &do_children/0,
initial_delay: 1000
)
DynamicSupervisor.init(strategy: :one_for_one)
end
defp do_children do
RoomSanctum.Configuration.list_cfg_scribus()
|> Enum.map(fn x ->
RoomZeus.ScribusSupervisor.start_child(x.id |> Integer.to_string())
end)
end
end
neiam
/apollos_crib
It's Apollo's Crib
public · Issues · Pulls 1 · Labels · Forks · Compare · Actions failure · Badges · Packages
⭐
Log in to mark this repository.
722 B · text
History
9b82cce