Current section

Files

Jump to
honeydew lib honeydew workers_per_queue_supervisor.ex
Raw

lib/honeydew/workers_per_queue_supervisor.ex

defmodule Honeydew.WorkersPerQueueSupervisor do
@moduledoc false
use Supervisor, restart: :transient
alias Honeydew.WorkerSupervisor
alias Honeydew.QueueMonitor
def start_link(queue, opts, queue_pid) do
Supervisor.start_link(__MODULE__, [queue, opts, queue_pid], [])
end
@impl true
def init([queue, opts, queue_pid]) do
[
{WorkerSupervisor, [queue, opts, queue_pid]},
{QueueMonitor, [self(), queue_pid]}
]
|> Supervisor.init(strategy: :rest_for_one)
end
end