Relay policy for the transactional outbox: when a failing row is dead-lettered, and how long the relay waits after a failed pass (BOU-679).
FC/IS: pure.
Relay policy for the transactional outbox: when a failing row is dead-lettered, and how long the relay waits after a failed pass (BOU-679). FC/IS: pure.
(failure-outcome {:keys [attempts first-failed-ms]}
error
now
{:keys [max-attempts dead-letter-after-ms]})What a failed publish does to row at database time now: its new
:attempts, :first-failed-ms and :last-error, and :dead?. A row is
dead-lettered once it has failed :max-attempts times over at least
:dead-letter-after-ms, so a bus outage shorter than that loses nothing;
a :fatal? error dead-letters at once.
What a failed publish does to `row` at database time `now`: its new `:attempts`, `:first-failed-ms` and `:last-error`, and `:dead?`. A row is dead-lettered once it has failed `:max-attempts` times over at least `:dead-letter-after-ms`, so a bus outage shorter than that loses nothing; a `:fatal?` error dead-letters at once.
(next-delay {:keys [poll-ms max-backoff-ms]} delay failed?)Milliseconds until the next relay pass: poll-ms after a good pass,
doubling after each failed one up to max-backoff-ms.
Milliseconds until the next relay pass: `poll-ms` after a good pass, doubling after each failed one up to `max-backoff-ms`.
(opts-problem opts)Why outbox opts are unusable, or nil.
Why outbox `opts` are unusable, or nil.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |