Future of an empty Option
Asynchronously tests whether a predicate holds for some of the elements of a collection of futures
Improved version of scala.concurrent.Future.fold, that fails the resulting Future as soon as one of the input Futures fails.
Asynchronously tests whether a predicate holds for all elements of a collection of futures
Convert a Try into a Future
Retries a Future until it succeeds or a maximum number of retries has been reached.
Retries a Future until it succeeds or a maximum number of retries has been reached.
The maximum number of retries, defaults to Long.MaxValue. The future f is triggered at most maxRetryTimes + 1 times. In other words, iff maxRetryTimes == 0, f will be called exactly once, iff maxRetryTimes == 1, it will be called at most twice, etc.
A function that returns a new Future
The ExecutionContext on which to retry the Future if it failed.
An optional log function to report failed iterations to. By default prints the thrown Exception to the console.
A successful Future if the Future succeeded within maxRetryTimes or a failed Future otherwise.
Retries a Future until it succeeds or a maximum number of retries has been reached, or a retry timeout has been reached.
Retries a Future until it succeeds or a maximum number of retries has been reached, or a retry timeout has been reached. Each retry iteration is being exponentially delayed. The delay grows from a given start value and by a given factor until it reaches a given maximum delay value. If maxRetryTimeout is reached, the last Future is scheduled at the point of the timeout. E.g. if the initial delay is 1 second, the retry timeout 10 seconds and all other parameters at their default, the future will be retried after 1, 3 (=1+2), 7 (=1+2+4) and 10 seconds before it fails. The actual delay between iterations is subject to jitter randomization. For more background on the subject of jitter see http://www.awsarchitectureblog.com/2015/03/backoff.html Optionally, jitter can be disabled, in which case the delay interval follows the strict exponential propagation as outlined above.
The maximum number of retries, defaults to Long.MaxValue. The future f is triggered at most maxRetryTimes + 1 times. In other words, iff maxRetryTimes == 0, f will be called exactly once, iff maxRetryTimes == 1, it will be called at most twice, etc.
The retry Deadline until which to retry the Future, defaults to 1 day from now
The initial delay value, defaults to 1 nanosecond
The maximum delay value, defaults to 1 day
The factor by which the delay increases between retry iterations
Enable jitter to randomize the delay, defaults to true.
A function that returns a new Future
The ExecutionContext on which to retry the Future if it failed.
An optional log function to report failed iterations to. By default prints the thrown Exception to the console.
A successful Future if the Future succeeded within maxRetryTimes or a failed Future otherwise.
Turn Exceptions thrown by f into a failed Future
Version of scala.concurrent.Future.traverse, that performs a sequential rather than a parallel map
Little helpers for scala futures
11/Jul/2014 13:25