Crate tokio_retry[−][src]
This library provides extensible asynchronous retry behaviours
for use with the ecosystem of tokio
libraries.
Installation
Add this to your Cargo.toml
:
[dependencies]
tokio-retry = "0.3"
Example
use tokio_retry::Retry; use tokio_retry::strategy::{ExponentialBackoff, jitter}; async fn action() -> Result<u64, ()> { // do some real-world stuff here... Err(()) } let retry_strategy = ExponentialBackoff::from_millis(10) .map(jitter) // add jitter to delays .take(3); // limit to 3 retries let result = Retry::spawn(retry_strategy, action).await?;
Modules
strategy | Assorted retry strategies including fixed interval and exponential back-off. |
Structs
Retry | Future that drives multiple attempts at an action via a retry strategy. |
RetryIf | Future that drives multiple attempts at an action via a retry strategy. Retries are only attempted if
the |
Traits
Action | An action can be run multiple times and produces a future. |
Condition | Specifies under which conditions a retry is attempted. |