farmbot_os/farmbot_ext/lib/farmbot_ext/bootstrap/supervisor.ex

30 lines
735 B
Elixir
Raw Normal View History

2019-03-05 11:38:25 -07:00
defmodule FarmbotExt.Bootstrap.Supervisor do
2019-12-17 15:19:53 -07:00
@moduledoc """
Supervisor responsible for starting all
2019-12-17 15:19:53 -07:00
the tasks and processes that require authentication.
"""
use Supervisor
2019-12-17 15:19:53 -07:00
@doc false
def start_link(args) do
Supervisor.start_link(__MODULE__, args, name: __MODULE__)
end
2019-12-17 15:19:53 -07:00
@impl Supervisor
def init([]) do
Supervisor.init(children(), strategy: :one_for_one)
end
def children() do
config = Application.get_env(:farmbot_ext, __MODULE__) || []
Keyword.get(config, :children, [
2019-03-05 11:38:25 -07:00
FarmbotExt.API.EagerLoader.Supervisor,
FarmbotExt.API.DirtyWorker.Supervisor,
FarmbotExt.AMQP.Supervisor,
FarmbotExt.API.ImageUploader,
FarmbotExt.Bootstrap.DropPasswordTask
])
end
end