commanded v0.12.0 Commanded.Event.Handler behaviour

Summary

Functions

Macro as a convenience for defining an event handler

Callbacks

Event handler behaviour to handle a domain event and its metadata

Types

domain_event()
domain_event() :: struct
metadata()
metadata() :: struct
subscribe_from()
subscribe_from() :: :origin | :current | non_neg_integer

Functions

__using__(opts) (macro)

Macro as a convenience for defining an event handler

defmodule ExampleHandler do

use Commanded.Event.Handler, name: "example_handler"

def handle(%AnEvent{...}, _metadata) do
  # ...
end

end

# start event handler process (or configure as a worker inside a supervisor) {:ok, handler} = ExampleHandler.start_link()

start_link(handler_name, handler_module, opts \\ [])

Callbacks

handle(domain_event, metadata)
handle(domain_event, metadata) :: :ok | {:error, reason :: atom}

Event handler behaviour to handle a domain event and its metadata

Return :ok on success, {:error, :already_seen_event} to ack and skip the event, or {:error, reason} on failure.