Skip to main content
Each handler execution for an event produces one EventResult. You usually access results through event.event_results (or high-level event helper methods), but this page documents the underlying object.

Common fields

  • id: unique result id
  • status: pending | started | completed | error
  • result: handler return value (typed by event result schema/type)
  • error: captured exception/error when handler fails
  • started_at, completed_at
  • event_children: child events emitted from inside this handler execution
  • Handler metadata (handler_id, handler_name, bus label/id/name)

Await semantics

Awaiting an EventResult resolves to handler return value or raises captured failure.
entry = event.event_results[some_handler_id]
value = await entry

Internal lifecycle methods

Used by bus internals; generally not needed for normal app code.
# internal methods used by EventBus
await entry.execute(...)
entry.update(status='started' | 'completed' | 'error', result=..., error=...)

Serialization

payload = entry.model_dump(mode='json')