ExternalService.RetriesExhausted exception (ExternalService v2.0.0)

Copy Markdown View Source

Raised or returned when the allowable number of retries (or the retry time budget) is exceeded while calling an external service.

This is an Errata infrastructure error. The same value is returned in an {:error, error} tuple by ExternalService.call/3 and raised by ExternalService.call!/3.

Its :context contains:

  • :service — the fuse name the error relates to.
  • :reason — the retry reason: the value from the function's {:retry, reason} return, or :reason_unknown when the function returned a bare :retry.

Summary

Functions

Returns the HTTP status code associated with this error (503 by default).

Types

Functions

http_status(error)

@spec http_status(Errata.error()) :: non_neg_integer()

Returns the HTTP status code associated with this error (503 by default).

The default is derived from the error's kind, or set via the :http_status option. Override this function to compute a status from the error's :reason or :context. See also Errata.http_status/1.