lib/kaffy/scheduler/supervisor.ex
defmodule Kaffy.Scheduler.Supervisor do
use DynamicSupervisor
def start_link(args) do
result = DynamicSupervisor.start_link(__MODULE__, args, name: KaffyTaskSupervisor)
tasks = Kaffy.Tasks.collect_tasks()
for task <- tasks do
DynamicSupervisor.start_child(KaffyTaskSupervisor, {Kaffy.Scheduler.Task, task})
end
result
end
@impl true
def init(_tasks) do
DynamicSupervisor.init(strategy: :one_for_one)
end
end