API reference › @evolu/common › Schedule › jitter
function jitter(
factor?: number,
): <Output, Input>(
schedule: Schedule<Output, Input>,
) => Schedule<Output, Input>;
Defined in: packages/common/src/Schedule.ts:663
Adds randomized jitter to delays.
Jitter helps prevent "thundering herd" when many clients retry simultaneously after a service recovers. The delay is randomized within a range:
factor = 0— no jitter (original delay)factor = 0.5— delay varies ±50% (e.g., 1s becomes 500ms-1500ms)factor = 1— full jitter, delay varies 0-200% (e.g., 1s becomes 0-2s)
Example
// AWS-style full jitter
const awsStyle = jitter(1)(exponential("1s"));
// Conservative jitter (±25%)
const conservative = jitter(0.25)(exponential("1s"));