summaryrefslogtreecommitdiff
path: root/lib/poolparty/supervisor.ex
blob: 712f0dcc75630a8029f0320490661f8a41de0359 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
defmodule PoolParty.Supervisor do
  use Supervisor
  require Logger

  def start_link(event_manager, opts \\ []) do
    Logger.debug("[#{__MODULE__}]: Starting Pool Party Supervisor")
    Supervisor.start_link(
      __MODULE__,
      {event_manager},
      [name: __MODULE__] ++ opts)
  end

  def init({event_manager}) do
    Logger.debug("[#{__MODULE__}]: Initializing Pool Party Supervisor")
    pool_size = Application.get_env(:poolparty, :pool_size)
    Logger.debug("[#{__MODULE__}]: Pool size: #{pool_size}")
    children = [worker(PoolParty.Scheduler, [pool_size, event_manager]),
                worker(PoolParty.Pool.Supervisor, [pool_size, event_manager])]
    supervise(children, strategy: :one_for_one)
  end
end