diff options
Diffstat (limited to 'lib/poolparty/pool/supervisor.ex')
-rw-r--r-- | lib/poolparty/pool/supervisor.ex | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/poolparty/pool/supervisor.ex b/lib/poolparty/pool/supervisor.ex new file mode 100644 index 0000000..e95ceac --- /dev/null +++ b/lib/poolparty/pool/supervisor.ex @@ -0,0 +1,16 @@ +defmodule PoolParty.Pool.Supervisor do + use Supervisor + + def start_link(pool_size, opts \\ []) do + Supervisor.start_link(__MODULE__, {pool_size}, opts) + end + + def init({pool_size}) do + children = (1..pool_size) |> + Enum.map(fn (id) -> + worker(PoolParty.Pool.Worker, [], id: id) + end) + supervise(children, strategy: :one_for_one) + end + +end |