Determines a delay that will be waited before retrying some operation that failed (e.g.
Determines a delay that will be waited before retrying some operation that failed (e.g. Redis connection attempt)
and also returns next retry strategy that should be used if that retry itself also fails.
If this method returns Opt.Empty
, the operation will not be retried and failure should be reported.
Concatenates two retry strategies, understood as lazy sequences of delays.
Limits the maximum delay between retries to some specified duration.
Limits the maximum number of retries to some specified number.
Limits the maximum total duration (sum of retry delays) to some specified duration.
Randomizes delays.
Randomizes delays. Each delay is multiplied by a factor which is randomly and uniformly choosen from
specified segment [minFactor, maxFactor)
(e.g. 0.9 to 1.1)
A
RetryStrategy
is conceptually a lazy sequence of delays, possibly infinite.