Skip to main content

Overview

The Backoffs class provides built-in backoff strategies for job retries and utilities for normalizing backoff options.

Built-in Strategies

fixed

Returns a fixed delay with optional jitter.
number
required
The fixed delay in milliseconds
number
default:"0"
Jitter factor (0-1) to randomize delay

Example

exponential

Returns an exponentially increasing delay with optional jitter.
number
required
The base delay in milliseconds
number
default:"0"
Jitter factor (0-1) to randomize delay
The delay formula is: delay * 2^(attemptsMade - 1)

Example

Static Methods

normalize

Normalizes a backoff value to BackoffOptions.
number | BackoffOptions
required
Backoff configuration (number for fixed delay or BackoffOptions object)

calculate

Calculates the delay for a given attempt.
BackoffOptions
required
Backoff configuration
number
required
Number of attempts already made
Error
required
The error that caused the failure
MinimalJob
required
The job being retried
BackoffStrategy
Custom backoff strategy function

BackoffOptions

Custom Backoff Strategy

You can implement a custom backoff strategy:

Jitter Calculation

When jitter is specified, the actual delay is randomized:
For example, with delay: 1000 and jitter: 0.2:
  • Minimum delay: 800ms
  • Maximum delay: 1200ms

Examples

Simple Fixed Backoff

Exponential Backoff with Jitter

Error-Specific Backoff