idempotency

class mersal.idempotency.IdempotencyConfig

Bases: object

Configuration for idempotency.

__init__(tracker: MessageTracker, should_stop_invocation: bool) None
should_stop_invocation: bool

Whether to run message handlers for repeated messages or not.

tracker: MessageTracker

Message tracking persistence mechanism.

class mersal.idempotency.IdempotencyPlugin

Bases: Plugin

__init__(config: IdempotencyConfig)
class mersal.idempotency.MessageTracker

Bases: Protocol

Idempotency tracker.

__init__(*args, **kwargs)
async is_message_tracked(message_id: Any, transaction_context: TransactionContext) bool

Check if message identified by message_id is handled.

async track_message(message_id: Any, transaction_context: TransactionContext) None

Set message identified by message_id as handled.