Modules
ExternalService handles all retry and circuit breaker logic for calls to external services.
The behaviour implemented by circuit breaker backends.
A circuit breaker that trips the whole cluster when any one node trips.
The default circuit breaker backend, built on the
:fuse library.
Raised or returned when a call is rejected because the service's circuit breaker is open (the fuse is blown).
Decorator-based annotations for marking functions as external-service calls.
Flow-based parallel processing of an enumerable
(or another Flow) through guarded ExternalService calls.
Deprecated. Use use ExternalService instead.
Raised or returned when a call could not be made within the service's
configured rate limit :wait budget.
The behaviour implemented by rate limiter backends.
Rate limiter backend backed by a Hammer rate limiter module.
The default rate limiter backend: a node-local token bucket.
Raised or returned when the allowable number of retries (or the retry time budget) is exceeded while calling an external service.
Options that control retry logic for calls to external services.
Raised or returned when a call is made to a service that has not been started
with ExternalService.start/2.