summaryrefslogtreecommitdiff
path: root/lib/poolparty/pool/supervisor.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/poolparty/pool/supervisor.ex')
-rw-r--r--lib/poolparty/pool/supervisor.ex16
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