diff options
author | kballou <kballou@devnulllabs.io> | 2014-10-20 18:56:23 -0600 |
---|---|---|
committer | kballou <kballou@devnulllabs.io> | 2014-10-20 18:56:23 -0600 |
commit | 5ba91fecec283003690072773638f2f143a2b0fa (patch) | |
tree | 057a1d695256043546ce652f9419f23f2100ca22 /lib/poolparty/pool/worker.ex | |
parent | 482e23b272bbb5221e09634c16ab0be9edd40592 (diff) | |
download | poolparty-5ba91fecec283003690072773638f2f143a2b0fa.tar.gz poolparty-5ba91fecec283003690072773638f2f143a2b0fa.tar.xz |
Add event manager and event notification
The PoolParty module was turned into an application that creates a generic
genEvent server, passing it to the supervisor. The supervisor, in turn,
distributes the genevent server to all child processes, etc.
This allows all processes to send events to the manager for logging, etc.
Diffstat (limited to 'lib/poolparty/pool/worker.ex')
-rw-r--r-- | lib/poolparty/pool/worker.ex | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/poolparty/pool/worker.ex b/lib/poolparty/pool/worker.ex index 5ae4161..2131f8e 100644 --- a/lib/poolparty/pool/worker.ex +++ b/lib/poolparty/pool/worker.ex @@ -2,15 +2,15 @@ defmodule PoolParty.Pool.Worker do use GenServer require Logger - def start_link(opts \\ []) do + def start_link(event_manager, opts \\ []) do Logger.debug("[#{__MODULE__}]: Starting worker") - GenServer.start_link(__MODULE__, {}, opts) + GenServer.start_link(__MODULE__, {event_manager}, opts) end - def init(_) do + def init({event_manager}) do Logger.debug("[#{__MODULE__}]: Initializing Worker") PoolParty.Scheduler.join(self) - {:ok, nil} + {:ok, %{events: event_manager}} end def process(pid, function, args) do @@ -18,10 +18,10 @@ defmodule PoolParty.Pool.Worker do GenServer.cast(pid, {:compute, function, args}) end - def handle_cast({:compute, function, args}, _) do + def handle_cast({:compute, function, args}, state) do Logger.debug("[#{__MODULE__}]: Process request received") PoolParty.Scheduler.ready({:result, function.(args), self}) - {:noreply, nil} + {:noreply, state} end end |