Skip to content

src/dazzle_back/channels/outbox.py

Generated: 2026-03-30T04:38:45.681405+00:00

Commit: 615f1354a103

Language: python

Scope: dazzle_back

Purpose

Transactional outbox pattern for DAZZLE messaging.

The outbox pattern ensures reliable message delivery by: 1. Writing messages to an outbox table within the same transaction as business data 2. A background processor reads from the outbox and sends to providers 3. Messages are marked as sent/faile...

Key Exports

  • OutboxStatus
  • OutboxMessage
  • OutboxRepository
  • create_outbox_message
  • to_dict
  • from_dict
  • create
  • get
  • get_pending
  • mark_processing
  • mark_sent
  • mark_failed
  • get_dead_letters
  • retry_dead_letter
  • get_stats
  • get_recent
  • cleanup_sent

Dependencies

Imports

  • __future__.annotations
  • json
  • logging
  • uuid
  • dataclasses.dataclass
  • dataclasses.field
  • datetime.UTC
  • datetime.datetime
  • enum.StrEnum
  • typing.TYPE_CHECKING
  • typing.Any
  • dazzle_back.runtime.repository.DatabaseManager
  • datetime.timedelta

Event Interactions

None detected.

Invariants and Assumptions

No invariants documented.

Tests

  • tests/unit/test_outbox_pg.py
  • tests/unit/test_channel_outbox.py

Notes

This page was automatically generated by tools/gen_reference_docs.py.