Retry and circuit breaker for the SMTP, IMAP and Twilio adapters, on the
same layer as the RPC client (wagoe.platform.resilience).
Both are opt-in. :retries retries only a call that never connected, since
one that connected may have sent the message. Off by default: these adapters
set no connect timeout, so an attempt against a host that drops packets can
take minutes. Pass a :cache for the breaker; it counts calls that got no
answer — never connected, or timed out.
Retry and circuit breaker for the SMTP, IMAP and Twilio adapters, on the same layer as the RPC client (`wagoe.platform.resilience`). Both are opt-in. `:retries` retries only a call that never connected, since one that connected may have sent the message. Off by default: these adapters set no connect timeout, so an attempt against a host that drops packets can take minutes. Pass a `:cache` for the breaker; it counts calls that got no answer — never connected, or timed out.
(call! {:keys [circuit] :as settings} f)Run (f) under settings. Returns its value or rethrows its last
exception, so an adapter's own error mapping still applies. When the breaker
is open, throws ex-info with :type :circuit-open instead of calling f.
Run `(f)` under `settings`. Returns its value or rethrows its last exception, so an adapter's own error mapping still applies. When the breaker is open, throws ex-info with `:type :circuit-open` instead of calling `f`.
(error-type e default):circuit-open for the breaker's refusal, else default: the type an
adapter's catch-all reports for e.
`:circuit-open` for the breaker's refusal, else `default`: the type an adapter's catch-all reports for `e`.
(open-error circuit retry-after-ms)The :error of a call the breaker declined to make.
The `:error` of a call the breaker declined to make.
(settings config circuit timeout-ms)Resilience settings for an adapter, from its config: :retries,
:retry-delay-ms, :cache and :circuit-breaker (:failure-threshold,
:open-ms). circuit names the breaker, timeout-ms is one attempt's
longest wait, if the adapter sets one.
Resilience settings for an adapter, from its config: `:retries`, `:retry-delay-ms`, `:cache` and `:circuit-breaker` (`:failure-threshold`, `:open-ms`). `circuit` names the breaker, `timeout-ms` is one attempt's longest wait, if the adapter sets one.
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 |