StatusIDLE
Attempt0 / 5
Elapsed0.0s
Runs0
Successes0
Exhausted0
Attempt Timeline
Click "Send Request" to start the retry sequence
Backoff Schedule (deterministic)
retry 0500ms500*2^0 = 500retry 11000ms500*2^1 = 1000retry 22000ms500*2^2 = 2000retry 34000ms500*2^3 = 4000

// configuration

// event log

No events yet. Click "Send Request" to begin.

// how it works

  • Execute the action. If it succeeds, return immediately.
  • On failure, wait baseDelay * 2^attempt before retrying.
  • The delay is capped at maxDelay to prevent infinite waits.
  • Optional jitter randomizes the delay: random(0, delay)
  • After maxRetries failures, give up and throw the last error.

// trade-offs

  • Handles transient failures gracefully
  • Exponential growth prevents overwhelming the service
  • Jitter prevents thundering herd (synchronized retries)
  • Adds latency to failing requests
  • Not suitable for non-idempotent operations
  • Can mask persistent failures if maxRetries is too high