Skip to main content

EventManager

Manage events and their listeners, enabling registration, emission, and execution control.

It allows for registering event listeners, emitting events, and ensuring all listeners complete their execution. Built on top of pyee.asyncio.AsyncIOEventEmitter. It implements additional features such as waiting for all listeners to complete and emitting PersistState events at regular intervals.

Hierarchy

Index

Methods

__aenter__

  • Initializes the event manager upon entering the async context.


    Returns EventManager

__aexit__

  • async __aexit__(*, exc_type, exc_value, exc_traceback): None
  • Closes the local event manager upon exiting the async context.

    This will stop listening for the events, and it will wait for all the event listeners to finish.


    Parameters

    • optionalkeyword-onlyexc_type: type[BaseException] | None
    • optionalkeyword-onlyexc_value: BaseException | None
    • optionalkeyword-onlyexc_traceback: TracebackType | None

    Returns None

__init__

  • __init__(*, persist_state_interval, close_timeout): None
  • A default constructor.


    Parameters

    • optionalkeyword-onlypersist_state_interval: timedelta = timedelta(minutes=1)

      Interval between emitted PersistState events to maintain state persistence.

    • optionalkeyword-onlyclose_timeout: timedelta | None = None

      Optional timeout for canceling pending event listeners if they exceed this duration.

    Returns None

emit

  • emit(*, event, event_data): None
  • Parameters

    • optionalkeyword-onlyevent: Literal[Event.PERSIST_STATE]
    • optionalkeyword-onlyevent_data: EventPersistStateData

    Returns None

emit

  • emit(*, event, event_data): None
  • Parameters

    • optionalkeyword-onlyevent: Literal[Event.SYSTEM_INFO]
    • optionalkeyword-onlyevent_data: EventSystemInfoData

    Returns None

emit

  • emit(*, event, event_data): None
  • Parameters

    • optionalkeyword-onlyevent: Literal[Event.MIGRATING]
    • optionalkeyword-onlyevent_data: EventMigratingData

    Returns None

emit

  • emit(*, event, event_data): None
  • Parameters

    • optionalkeyword-onlyevent: Literal[Event.ABORTING]
    • optionalkeyword-onlyevent_data: EventAbortingData

    Returns None

emit

  • emit(*, event, event_data): None
  • Parameters

    • optionalkeyword-onlyevent: Literal[Event.EXIT]
    • optionalkeyword-onlyevent_data: EventExitData

    Returns None

emit

  • emit(*, event, event_data): None
  • Parameters

    • optionalkeyword-onlyevent: Event
    • optionalkeyword-onlyevent_data: Any

    Returns None

emit

  • emit(*, event, event_data): None
  • Emit an event with the associated data to all registered listeners.


    Parameters

    • optionalkeyword-onlyevent: Event

      The event which will be emitted.

    • optionalkeyword-onlyevent_data: EventData

      The data which will be passed to the event listeners.

    Returns None

off

  • off(*, event, listener): None
  • Remove a specific listener or all listeners for an event.


    Parameters

    • optionalkeyword-onlyevent: Event

      The Actor event for which to remove listeners.

    • optionalkeyword-onlylistener: EventListener[Any] | None = None

      The listener which is supposed to be removed. If not passed, all listeners of this event are removed.

    Returns None

on

  • on(*, event, listener): None

on

  • on(*, event, listener): None

on

  • on(*, event, listener): None

on

  • on(*, event, listener): None

on

  • on(*, event, listener): None

on

  • on(*, event, listener): None
  • Parameters

    Returns None

on

  • on(*, event, listener): None
  • Register an event listener for a specific event.


    Parameters

    • optionalkeyword-onlyevent: Event

      The event for which to listen to.

    • optionalkeyword-onlylistener: EventListener[Any]

      The function (sync or async) which is to be called when the event is emitted.

    Returns None

wait_for_all_listeners_to_complete

  • async wait_for_all_listeners_to_complete(*, timeout): None
  • Wait for all currently executing event listeners to complete.


    Parameters

    • optionalkeyword-onlytimeout: timedelta | None = None

      The maximum time to wait for the event listeners to finish. If they do not complete within the specified timeout, they will be canceled.

    Returns None

Properties

active

active: bool

Indicate whether the context is active.