cayu.storage.PostgresEventWatcherStore
Part of cayu.storage.postgres. Read the Python API overview and install the required extra.
from cayu.storage import PostgresEventWatcherStorePostgres-backed durable watcher state for hosted multi-worker apps.
Bases: _PostgresStoreBase, EventWatcherStore.
init (method)
Section titled “init (method)”PostgresEventWatcherStore.__init__(conninfo: str | None=None, *, pool: AsyncConnectionPool | None=None, min_size: int=1, max_size: int=8, schema_mode: schema.SchemaMode=schema.SchemaMode.VALIDATE, read_only: bool=False, migration_reset_empty_recall_state: bool=False, migration_expected_input_state: schema.SchemaState | None=None, migration_operation_sha256: str | None=None, migration_receipt_json: str | None=None) -> Noneensure_schema (method)
Section titled “ensure_schema (method)”async PostgresEventWatcherStore.ensure_schema() -> NoneOpen the pool and reconcile the schema now (per schema_mode).
Normally reconciliation happens lazily on first use; the cayu storage
CLI calls this to run a migrate (or validate) as an explicit step.
close (method)
Section titled “close (method)”async PostgresEventWatcherStore.close() -> Noneload_state (method)
Section titled “load_state (method)”async PostgresEventWatcherStore.load_state(watcher_name: str) -> EventWatcherStateclaim_event (method)
Section titled “claim_event (method)”async PostgresEventWatcherStore.claim_event(*, watcher_name: str, record: EventRecord, lease_seconds: float, max_attempts: int=3) -> EventWatcherClaim | EventWatcherDelivery | Nonerenew_claim (method)
Section titled “renew_claim (method)”async PostgresEventWatcherStore.renew_claim(claim: EventWatcherClaim, *, lease_seconds: float) -> EventWatcherClaimmark_success (method)
Section titled “mark_success (method)”async PostgresEventWatcherStore.mark_success(claim: EventWatcherClaim) -> EventWatcherDeliverymark_failure (method)
Section titled “mark_failure (method)”async PostgresEventWatcherStore.mark_failure(claim: EventWatcherClaim, *, error: str, max_attempts: int) -> EventWatcherDeliverylist_dead_letters (method)
Section titled “list_dead_letters (method)”async PostgresEventWatcherStore.list_dead_letters(watcher_name: str, *, include_resolved: bool=False, limit: int=100) -> list[EventWatcherDeadLetter]resolve_dead_letter (method)
Section titled “resolve_dead_letter (method)”async PostgresEventWatcherStore.resolve_dead_letter(watcher_name: str, event_sequence: int) -> EventWatcherDeadLetter