legendary-doc-site/apps/admin/kaffy/lib/kaffy/tasks.ex
2020-07-27 20:28:41 +00:00

19 lines
494 B
Elixir

defmodule Kaffy.Tasks do
def collect_tasks() do
Kaffy.Utils.get_task_modules()
|> Enum.map(fn m ->
m.__info__(:functions)
|> Enum.filter(fn {f, _} -> String.starts_with?(to_string(f), "task_") end)
|> Enum.map(fn {f, _} -> apply(m, f, []) end)
end)
|> List.flatten()
end
def tasks_info() do
children = DynamicSupervisor.which_children(KaffyTaskSupervisor)
Enum.map(children, fn {_, p, _, _} ->
GenServer.call(p, :info)
end)
end
end