Skip to content

Commit eeda60f

Browse files
committed
feat: add sqla broker
1 parent f1349ee commit eeda60f

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

docs/docs/en/sqla/design.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ This design opts for separate short-lived transactions instead of a single one.
5858

5959
### Poison Message Protection
6060

61-
Setting `max_deliveries` to a non-`None` value provides protection from the [poison message problem](https://www.rabbitmq.com/docs/quorum-queues#poison-message-handling){.external-link target="_blank"} (messages that crash the worker without the ability to catch the exception, e.g. due to OOM terminations) because `deliveries_count` is incremented and `max_deliveries` is checked prior to a processing attempt. However, this comes at the expense of potentially over-counting deliveries, especially for messages that are being processed concurrently with the poison message (a crash would leave them with incremented `deliveries_count` despite possibly not having been processed).
61+
Setting `max_deliveries` to a non-`None` value provides protection from the [poison message problem](https://www.rabbitmq.com/docs/quorum-queues#poison-message-handling){.external-link target="_blank"} (messages that crash the worker without the ability to catch the exception, e.g. due to OOM terminations) because `deliveries_count` is incremented and `max_deliveries` is checked prior to a processing attempt. However, this comes at the expense of potentially over-counting deliveries, especially for messages that are being processed concurrently with the poison message (a crash would leave them with incremented `deliveries_count` despite possibly not having been processed), and violating the at-most-once processing semantics.
6262

6363
### Why Not LISTEN/NOTIFY?
6464

docs/docs/en/sqla/tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ When `connection` is provided, the message insert participates in the same datab
9393
- **`flush_interval`** — Interval between flushes of processed message state to the database.
9494
- **`release_stuck_interval`** — Interval between checks for stuck `PROCESSING` messages.
9595
- **`release_stuck_timeout`** — Interval since `acquired_at` after which a `PROCESSING` message is considered stuck and is released back to `PENDING`.
96-
- **`max_deliveries`** — Maximum number of deliveries allowed for a message. If set, messages that have reached this limit are Reject'ed to `FAILED` without processing.
96+
- **`max_deliveries`** — Maximum number of deliveries allowed for a message. If set, messages that have reached this limit are Reject'ed to `FAILED` without processing. Note that this might violate the [at-least-once](../sqla/design.md#poison-message-protection){.internal-link} processing semantics.
9797
- **`ack_policy`** — Controls acknowledgement behavior. See [AckPolicy](../getting-started/acknowledgement.md){.internal-link}.
9898

9999
### Delayed retries

0 commit comments

Comments
 (0)