occurrent
occurrent copied to clipboard
Add support for handling final exception
Currently, you can do:
RetryStrategy
.exponentialBackoff(Duration.ofSeconds(1), Duration.ofSeconds(5), 2.0)
.maxAttempts(10)
.onError { info, throwable -> println("somethign") }
.execute(..)
But it would be nice to do something on "completion with failure", for example, to avoid avoid try/catch around the retry strategy. E.g.
RetryStrategy
.exponentialBackoff(Duration.ofSeconds(1), Duration.ofSeconds(5), 2.0)
.maxAttempts(10)
.onError { info, throwable -> println("somethign") }
.execute(..)
.mapError(throwable -> // return a new throwable )
and/or:
RetryStrategy
.exponentialBackoff(Duration.ofSeconds(1), Duration.ofSeconds(5), 2.0)
.maxAttempts(10)
.onError { info, throwable -> println("somethign") }
.execute(..)
.onCompletedWithError(throwable -> ) // Maybe add "onCompletedSuccessfully" or replace with common "onCompleted" method?
and/or:
RetryStrategy
.exponentialBackoff(Duration.ofSeconds(1), Duration.ofSeconds(5), 2.0)
.maxAttempts(10)
.onError { info, throwable -> println("somethign") }
.execute(..)
.returnIfCompletedWithError(throwable -> "something else" ) // Move back to happy track (Better name needed)