Skip to main content
EventHandler is the serializable metadata record for a registered handler function. You receive handler entries from bus.on(...), can remove them with bus.off(...), and see them in handler-change middleware/hooks.

Common fields

  • id: stable handler id
  • handler_name: callable/function name
  • handler_file_path: source path metadata (str | None in Python, string | null in TypeScript)
  • handler_timeout: optional per-handler timeout override
  • handler_slow_timeout: optional slow-warning override
  • handler_registered_at
  • event_pattern: subscribed key (EventType or '*')
  • eventbus_name, eventbus_id

bus.on(...) and bus.off(...)

entry = bus.on(MyEvent, handler)
bus.off(MyEvent, entry)

Serialization

payload = entry.model_dump(mode='json', exclude={'handler'})
print(payload)
# {
#   "id": "018f...",
#   "handler_name": "app.handlers.on_user_created",
#   "event_pattern": "UserCreatedEvent",
#   "eventbus_name": "AuthBus",
#   "eventbus_id": "018f...",
#   "...": "..."
# }

restored = EventHandler.from_json_dict(payload, handler=real_handler)

Notes

  • Function bodies are not serialized.
  • Rehydration restores metadata; execution behavior requires re-binding a real callable.