evoq_event_handler behaviour (evoq v1.14.1)
View SourceEvent handler behavior for evoq.
Event handlers subscribe to event types (NOT streams) and process events as they are published. This is the key scalability improvement over per-stream subscriptions.
Callbacks
Required: - interested_in() -> [binary()] Returns list of event types this handler processes
- init(Config) -> {ok, State} Initialize handler state
- handle_event(EventType, Event, Metadata, State) -> {ok, NewState} | {error, Reason} Process a single event
Optional: - on_error(Error, Event, FailureContext, State) -> error_action() Handle errors during event processing
Summary
Functions
Get event types this handler is interested in.
Notify handler of an event.
Start an event handler.
Start an event handler with options.
Callbacks
-callback interested_in() -> [EventType :: binary()].
-callback on_error(Error :: term(), Event :: map(), FailureContext :: #evoq_failure_context{handler_module :: atom(), event :: map(), error :: term(), attempt_number :: pos_integer(), first_failure_at :: integer(), last_failure_at :: integer(), stacktrace :: list()}, State :: term()) -> evoq_error_handler:error_action().
Functions
Get event types this handler is interested in.
Notify handler of an event.
Start an event handler.
Start an event handler with options.