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.
delay
number
required
The fixed delay in milliseconds
jitter
number
default:"0"
Jitter factor (0-1) to randomize delay

Example

exponential

Returns an exponentially increasing delay with optional jitter.
delay
number
required
The base delay in milliseconds
jitter
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.
backoff
number | BackoffOptions
required
Backoff configuration (number for fixed delay or BackoffOptions object)

calculate

Calculates the delay for a given attempt.
backoff
BackoffOptions
required
Backoff configuration
attemptsMade
number
required
Number of attempts already made
err
Error
required
The error that caused the failure
job
MinimalJob
required
The job being retried
customStrategy
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