Current section
Files
Jump to
Current section
Files
lib/herald/application.ex
defmodule Herald.Application do
# See https://hexdocs.pm/elixir/Application.html
# for more information on OTP Applications
@moduledoc false
use Application
def start(_type, _args) do
children =
Application.get_env(:herald, :router)
|> apply(:routes, [])
|> Enum.map(fn {queue, _} = route_spec ->
%{
id: String.to_atom(queue),
start: {
Herald.AMQP.Subscriber,
:start_link,
[route_spec]
}
}
end)
# See https://hexdocs.pm/elixir/Supervisor.html
# for other strategies and supported options
opts = [strategy: :one_for_one, name: Herald.Supervisor]
Supervisor.start_link(children, opts)
end
end