Doubles the wait after every attempt, up to a maximum.
The wait after attempt n is base_delay * 2 ** (n - 1), capped at
max_delay: with a base_delay of 100, it waits 100, 200, 400, ...
Options
:base_delay- the wait, in milliseconds, after the first attempt. Required.:max_delay- the longest wait, in milliseconds. Required.:jitter- how the wait is randomized, so that callers failing at the same time do not retry at the same time.:none(the default) uses the exact wait,:fulla random one from0to it (seeRexsilient.Jitter.full/3), and:equala random one from half of it to it (seeRexsilient.Jitter.equal/3).
Examples
strategy Rexsilient.Retry.Strategy.Exponential,
base_delay: 100,
max_delay: 5_000,
jitter: :full