Skip to content

calculateBackoff

function calculateBackoff(
   failCount, 
   baseInterval, 
   maxDelay?): Date;

Defined in: packages/core/src/shared/utils/backoff.ts:41

Calculate the next run time using exponential backoff.

Formula: nextRunAt = now + (2^failCount × baseInterval)

ParameterTypeDefault valueDescription
failCountnumberundefinedNumber of previous failed attempts
baseIntervalnumberDEFAULT_BASE_INTERVALBase interval in milliseconds (default: 1000ms)
maxDelay?numberundefinedMaximum delay in milliseconds (optional)

Date

The next run date

// First retry (failCount=1): 2^1 * 1000 = 2000ms delay
const nextRun = calculateBackoff(1);

// Second retry (failCount=2): 2^2 * 1000 = 4000ms delay
const nextRun = calculateBackoff(2);

// With custom base interval
const nextRun = calculateBackoff(3, 500); // 2^3 * 500 = 4000ms delay

// With max delay
const nextRun = calculateBackoff(10, 1000, 60000); // capped at 60000ms