Packages

This is not production ready yet but I want your feedback.

Current section

Files

Jump to
cqrs_events lib cqrs events async_handler.ex
Raw

lib/cqrs/events/async_handler.ex

defmodule Cqrs.Events.AsyncHandler do
defmacro __using__(_opts) do
quote do
use Cqrs.Events.BasicHandler
def start_link(event_name, opts \\ %{}) do
GenServer.start_link __MODULE__, Map.merge(opts, %{event_name: event_name, async: true}), []
end
def handle_info(%{payload: payload}, config) do
handle_event(payload, config)
{:noreply, config}
end
end
end
end