summaryrefslogtreecommitdiff
path: root/lib/poolparty/pool
diff options
context:
space:
mode:
Diffstat (limited to 'lib/poolparty/pool')
-rw-r--r--lib/poolparty/pool/supervisor.ex4
-rw-r--r--lib/poolparty/pool/worker.ex5
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/poolparty/pool/supervisor.ex b/lib/poolparty/pool/supervisor.ex
index e95ceac..3132f46 100644
--- a/lib/poolparty/pool/supervisor.ex
+++ b/lib/poolparty/pool/supervisor.ex
@@ -1,13 +1,17 @@
defmodule PoolParty.Pool.Supervisor do
use Supervisor
+ require Logger
def start_link(pool_size, opts \\ []) do
+ Logger.debug("[#{__MODULE__}]: Starting Work Pool Supervisor")
Supervisor.start_link(__MODULE__, {pool_size}, opts)
end
def init({pool_size}) do
+ Logger.debug("[#{__MODULE__}]: Initializing Work Pool Supervisor")
children = (1..pool_size) |>
Enum.map(fn (id) ->
+ Logger.debug("[#{__MODULE__}]: Starting child worker: #{id}")
worker(PoolParty.Pool.Worker, [], id: id)
end)
supervise(children, strategy: :one_for_one)
diff --git a/lib/poolparty/pool/worker.ex b/lib/poolparty/pool/worker.ex
index c4685f5..5ae4161 100644
--- a/lib/poolparty/pool/worker.ex
+++ b/lib/poolparty/pool/worker.ex
@@ -1,20 +1,25 @@
defmodule PoolParty.Pool.Worker do
use GenServer
+ require Logger
def start_link(opts \\ []) do
+ Logger.debug("[#{__MODULE__}]: Starting worker")
GenServer.start_link(__MODULE__, {}, opts)
end
def init(_) do
+ Logger.debug("[#{__MODULE__}]: Initializing Worker")
PoolParty.Scheduler.join(self)
{:ok, nil}
end
def process(pid, function, args) do
+ Logger.debug("[#{__MODULE__}: Casting Process request")
GenServer.cast(pid, {:compute, function, args})
end
def handle_cast({:compute, function, args}, _) do
+ Logger.debug("[#{__MODULE__}]: Process request received")
PoolParty.Scheduler.ready({:result, function.(args), self})
{:noreply, nil}
end