trait RetryStrategy extends AnyRef
A RetryStrategy
is conceptually a lazy sequence of delays, possibly infinite.
- Self Type
- RetryStrategy
- Alphabetic
- By Inheritance
- RetryStrategy
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
nextRetry: commons.Opt[(FiniteDuration, RetryStrategy)]
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.
Concrete Value Members
-
def
andThen(otherStrategy: RetryStrategy): RetryStrategy
Concatenates two retry strategies, understood as lazy sequences of delays.
-
def
maxDelay(duration: FiniteDuration): RetryStrategy
Limits the maximum delay between retries to some specified duration.
-
def
maxRetries(retries: Int): RetryStrategy
Limits the maximum number of retries to some specified number.
-
def
maxTotal(duration: FiniteDuration): RetryStrategy
Limits the maximum total duration (sum of retry delays) to some specified duration.
- def next: RetryStrategy
-
def
randomized(minFactor: Double, maxFactor: Double): RetryStrategy
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)