Events API
ALL_COMPLETED
module-attribute
FIRST_COMPLETED
module-attribute
FIRST_EXCEPTION
module-attribute
__all__
module-attribute
__all__ = [
"ALL_COMPLETED",
"FIRST_COMPLETED",
"FIRST_EXCEPTION",
"Event",
"EventBus",
"EventResult",
"EventState",
"EventStatesGroup",
"ScheduleEvent",
"pub",
"sub",
]
EventBus
middleware
instance-attribute
middleware: list[Callable[[EventState[Eventable]], Awaitable[None]]] = [
item.resolve(self) for item in middleware or ()
]
get
async
subscribe
subscribe[E: Event](
event_type: type[E],
handler: NullableActionable[E, Any]
| Actionable[E, Any]
| SequenceActionable[E, Any],
) -> None
publish
async
as_completed
async
as_completed[E: Eventable](
event_states_group: EventStatesGroup[*tuple[E, ...],],
) -> AsyncIterator[EventState[E]]
run_schedule
async
staticmethod
Event
Bases: BaseSchema
EventResult
Bases: tuple[list[R], list[Future[Any]]], Generic[E, R]
wait
async
completed
EventState
EventStatesGroup
ScheduleEvent
Bases: Event
RabbitMQBroker
Bases: TransportBroker
__init__
__init__(
native: RabbitBroker,
*,
route: Callable[[type[Eventable]], str] = event_route,
subscription: Callable[
[type[Event], Callable[[EventMessage], Awaitable[None]]],
Callable[[], Awaitable[None]],
]
| None = None,
) -> None
AsyncQueueBroker
NATSBroker
Bases: TransportBroker
__init__
__init__(
native: NatsBroker,
*,
route: Callable[[type[Eventable]], str] = event_route,
subscription: Callable[
[type[Event], Callable[[EventMessage], Awaitable[None]]],
Callable[[], Awaitable[None]],
]
| None = None,
) -> None
KafkaBroker
Bases: TransportBroker
__init__
__init__(
native: KafkaBroker,
*,
route: Callable[[type[Eventable]], str] = event_route,
group_id: str | None = "fastsprout",
subscription: Callable[
[type[Event], Callable[[EventMessage], Awaitable[None]]],
Callable[[], Awaitable[None]],
]
| None = None,
) -> None