Skip to content

RetryPolicy

RetryPolicy: object

Defined in: Types/RetryPolicy.ts:34

constant: <E>(options) => RetryPolicy<E>

Creates a RetryPolicy with a constant delay between retry attempts.

E = unknown

number

Duration

(event) => void

(error) => boolean

RetryPolicy<E>

const policy = RetryPolicy.constant({
  attempts: 3,
  delay: Duration.seconds(1),
});

exponential: <E>(options) => RetryPolicy<E>

Creates a RetryPolicy with exponential backoff delays between attempts. An optional factor (default 2) controls the growth rate. An optional jitter (default false) adds randomized variance to prevent thundering herd problems. An optional maxDelay caps the maximum duration between retry attempts. An optional when predicate filters which errors qualify for retry. An optional onRetry callback executes telemetry side-effects before each retry delay.

E = unknown

number

number

Duration

boolean

Duration

(event) => void

(error) => boolean

RetryPolicy<E>

const policy = RetryPolicy.exponential({
  attempts: 5,
  initial: Duration.milliseconds(100),
  factor: 2,
  jitter: true,
  maxDelay: Duration.seconds(5),
  when: (err: Error) => err.name === "NetworkError",
  onRetry: (event) => console.warn(`Retry attempt ${event.attempt}`),
});