Skip to content

angee.messaging.delivery

Durable, idempotent outbound message delivery use-cases.

TransientDeliveryError

python
class TransientDeliveryError(Exception)

A network failure or ESP 5xx response that Celery may retry.

queue_message_delivery

python
def queue_message_delivery(message: Any) -> bool

Persist queued and enqueue one delivery task; return whether queued.

external_id is the stable delivery token. A terminal sent row is a no-op; every other state can be re-enqueued to repair a lost broker publish or explicitly retry a failed attempt.

run_message_delivery

python
def run_message_delivery(model_label: str, pk: Any,
                         external_id: str) -> dict[str, Any]

Run one at-least-once delivery attempt under the shared record lock.

Lost acknowledgements can transmit twice; dedup is receiver-side best effort through the stable Message-ID, not a universal ESP guarantee. Cross-process mutual exclusion requires Postgres advisory locks; SQLite/local locking can double-send.

Released under the AGPL-3.0 License.