Interface BackoffOptions

Capped exponential backoff timing with jitter.

The timing follows the equation: distribution() * min(interval * pow(exponentBase, failureCount), max)

interface BackoffOptions {
    distribution: (() => number);
    exponentBase: number;
    interval: number;
    maxTime: number;
}

Properties

distribution: (() => number)

The distribution function to randomize request retry timing. This is to prevent all users from making retries at the same time.

exponentBase: number

pow(exponentBase, failureCount)

interval: number

The interval in seconds, multiplied by pow(exponentBase, failureCount).

maxTime: number

The maximum time to wait between tries, in seconds, regardless of how many consecutive failures.