Current section
Files
Jump to
Current section
Files
lib/express/push_requests/supervisor.ex
defmodule Express.PushRequests.Supervisor do
@moduledoc """
Push requests supervisor. Responsible for the buffer, consumers and the buffer adders processes.
"""
use Supervisor
alias Express.Operations.PoolboyConfigs
def start_link do
Supervisor.start_link(__MODULE__, :ok, name: __MODULE__)
end
def init(:ok), do: supervise(children(), opts())
defp children do
[
supervisor(
Express.PushRequests.ConsumersSupervisor,
[],
restart: :permanent
),
worker(
Express.PushRequests.Buffer,
[],
restart: :permanent,
name: Express.PushRequests.Buffer
),
:poolboy.child_spec(
PoolboyConfigs.buffer_adders().name,
PoolboyConfigs.buffer_adders().config,
[]
)
]
end
defp opts do
[
strategy: :one_for_one,
name: __MODULE__
]
end
end