app¶
- class mersal.app.Mersal¶
Bases:
object
- __init__(name: str, handler_activator: HandlerActivator, transport: Transport | None = None, pipeline_invoker: PipelineInvoker | None = None, router: Router | None = None, worker_factory: WorkerFactory | None = None, subscription_storage: SubscriptionStorage | None = None, topic_name_convention: TopicNameConvention | None = None, on_startup_hooks: Sequence[Callable[[], Any | Awaitable[Any]]] | None = None, on_shutdown_hooks: Sequence[Callable[[], Any | Awaitable[Any]]] | None = None, retry_strategy_settings: RetryStrategySettings | None = None, error_tracker: ErrorTracker | None = None, error_handler: ErrorHandler | None = None, fail_fast_checker: FailFastChecker | None = None, fail_fast_exceptions: Sequence[type[Exception]] | None = None, plugins: Sequence[Plugin] | None = None, idempotency: IdempotencyConfig | None = None, saga: SagaConfig | type[Empty] | None = None, serializer: Serializer | None = None, message_body_serializer: Serializer | None = None, message_headers_serializer: Serializer | None = None, default_router_registration: DefaultRouterRegistrationConfig | None = None, autosubscribe: AutosubscribeConfig | type[Empty] | None = None, unit_of_work: UnitOfWorkConfig | None = None, outbox: OutboxConfig | None = None, pdb_on_exception: bool | None = None, message_id_generator: MessageIdGenerator | None = None)¶
Initializes the Mersal app.
- Parameters:
name – name of Mersal app, useful in logging.
autosubscribe – configuration for the autosubcription plugin.
handler_activator – HandlerActivator,
transport – Transport | None = None,
pipeline_invoker – PipelineInvoker | None = None,
router – Router | None = None,
worker_factory – WorkerFactory | None = None,
subscription_storage – SubscriptionStorage | None = None,
topic_name_convention – TopicNameConvention | None = None,
on_startup_hooks – Sequence[LifespanHook] | None = None,
on_shutdown_hooks – Sequence[LifespanHook] | None = None,
retry_strategy_settings – RetryStrategySettings | None = None,
error_tracker – ErrorTracker | None = None,
error_handler – ErrorHandler | None = None,
fail_fast_checker – FailFastChecker | None = None,
fail_fast_exceptions – Sequence[type[Exception]] | None = None,
plugins – Sequence[Plugin] | None = None,
idempotency – IdempotencyConfig | None = None,
saga – SagaConfig | EmptyType | None = None,
serializer – Serializer | None = None,
message_body_serializer – MessageBodySerializer | None = None,
message_headers_serializer – MessageHeadersSerializer | None = None,
default_router_registration – DefaultRouterRegistrationConfig | None = None,
unit_of_work – UnitOfWorkConfig | None = None,
outbox – OutboxConfig | None = None,
pdb_on_exception – bool | None = None,
message_id_generator – MessageIdGenerator | None = None,
- async publish(event_message: Any, headers: Mapping[str, Any] | None = None) None ¶
Publish an event with optional headers.
- async send(command_message: Any, headers: Mapping[str, Any] | None = None) None ¶
Send a message to an address obtained from the configured router.