RetryOptions
Defined in: src/retry.ts:58
Type Parameters
Section titled “Type Parameters”T
Properties
Section titled “Properties”backoffType?
Section titled “backoffType?”
optionalbackoffType?:BackoffType
Defined in: src/retry.ts:67
Default ‘constant’.
budget?
Section titled “budget?”
optionalbudget?:RetryBudget
Defined in: src/retry.ts:92
Shared cap on retries relative to traffic (retry-storm protection). Share one instance per dependency.
delay?
Section titled “delay?”
optionaldelay?:Duration
Defined in: src/retry.ts:65
Base delay. Default 2000 ms.
delayGenerator?
Section titled “delayGenerator?”
optionaldelayGenerator?: (args) =>MaybePromise<Duration|undefined>
Defined in: src/retry.ts:74
Return a delay (e.g. from a Retry-After header); undefined or negative falls back to the computed delay.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”MaybePromise<Duration | undefined>
factor?
Section titled “factor?”
optionalfactor?:number
Defined in: src/retry.ts:69
Growth per retry for 'exponential' (delay × factor^attempt). Default 2. Ignored with useJitter: true (decorrelated jitter).
initialDelay?
Section titled “initialDelay?”
optionalinitialDelay?:Duration
Defined in: src/retry.ts:78
Wait this long before the first attempt too (e.g. to let a just-started dependency come up).
maxDelay?
Section titled “maxDelay?”
optionalmaxDelay?:Duration
Defined in: src/retry.ts:72
Caps computed delays (not those from delayGenerator).
maxRetryAttempts?
Section titled “maxRetryAttempts?”
optionalmaxRetryAttempts?:number
Defined in: src/retry.ts:63
Retries in addition to the original call. Default 3. Infinity retries until aborted.
maxRetryTime?
Section titled “maxRetryTime?”
optionalmaxRetryTime?:Duration
Defined in: src/retry.ts:80
Stop scheduling retries once this much time has passed since the first attempt (the attempt in flight isn’t cancelled).
optionalname?:string
Defined in: src/retry.ts:59
onBudgetExhausted?
Section titled “onBudgetExhausted?”
optionalonBudgetExhausted?: (args) =>MaybePromise<void>
Defined in: src/retry.ts:94
Called when the budget refuses a retry; the last outcome is returned.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”MaybePromise<void>
onFailedAttempt?
Section titled “onFailedAttempt?”
optionalonFailedAttempt?: (args) =>MaybePromise<void>
Defined in: src/retry.ts:86
After every handled failure, the last one included, with how many retries are left.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”MaybePromise<void>
onRetry?
Section titled “onRetry?”
optionalonRetry?: (args) =>MaybePromise<void>
Defined in: src/retry.ts:84
Before each retry’s delay.
Parameters
Section titled “Parameters”OnRetryArgs<T>
Returns
Section titled “Returns”MaybePromise<void>
onRetryExhausted?
Section titled “onRetryExhausted?”
optionalonRetryExhausted?: (args) =>MaybePromise<void>
Defined in: src/retry.ts:88
When retries run out (or maxRetryTime passes) and the last outcome is still a failure.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”MaybePromise<void>
randomizer?
Section titled “randomizer?”
optionalrandomizer?: () =>number
Defined in: src/retry.ts:90
Random source in [0, 1) used for jitter.
Returns
Section titled “Returns”number
respectRetryAfter?
Section titled “respectRetryAfter?”
optionalrespectRetryAfter?:boolean
Defined in: src/retry.ts:76
Wait at least an error’s retryAfter (ms), e.g. a rate-limit rejection’s; still capped by maxDelay. Default true.
shouldConsumeRetry?
Section titled “shouldConsumeRetry?”
optionalshouldConsumeRetry?: (args) =>MaybePromise<boolean>
Defined in: src/retry.ts:82
Return false for failures that shouldn’t use up a retry (e.g. a token refresh); they are retried without counting.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”MaybePromise<boolean>
shouldHandle?
Section titled “shouldHandle?”
optionalshouldHandle?:ShouldHandle<RetryPredicateArgs<T>>
Defined in: src/retry.ts:61
Default: transient errors (not 4xx except 408/429, not aborts, not rejections). An open circuit is never retried.
useJitter?
Section titled “useJitter?”
optionaluseJitter?:Jitter
Defined in: src/retry.ts:70