pyphoenix.message_queue
Message queue implementation with delivery guarantees for PyPhoenix.
Classes
|
Message queue with configurable delivery guarantees. |
|
Status of a message in the queue. |
|
A message in the queue with metadata. |
- class pyphoenix.message_queue.MessageStatus(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Status of a message in the queue.
- PENDING = 'pending'
- PROCESSING = 'processing'
- DELIVERED = 'delivered'
- FAILED = 'failed'
- EXPIRED = 'expired'
- class pyphoenix.message_queue.QueuedMessage(id, topic, payload, created_at, expires_at=None, attempts=0, max_attempts=3, status=MessageStatus.PENDING, last_attempt_at=None, error=None, serialized_payload=None)[source]
A message in the queue with metadata.
- Parameters:
-
status:
MessageStatus= 'pending'
- __init__(id, topic, payload, created_at, expires_at=None, attempts=0, max_attempts=3, status=MessageStatus.PENDING, last_attempt_at=None, error=None, serialized_payload=None)
- class pyphoenix.message_queue.MessageQueue(delivery_guarantee='at_least_once')[source]
Message queue with configurable delivery guarantees.
Supports different delivery modes: - at_most_once: Fire and forget, no retries - at_least_once: Retry until delivered, may deliver duplicates - exactly_once: Deliver exactly once (requires deduplication)
- Parameters:
delivery_guarantee (
str)
- async get_pending_messages(topic=None)[source]
Get pending messages for processing.
- Parameters:
- Return type: