1 unstable release

0.1.1 Sep 29, 2021
0.1.0 Sep 29, 2021

#2302 in Rust patterns

MIT license

4KB

Retryable

Retryable is a simple macro to let your rust function automatically retries after a certain amount of time. The main objective of this macro is to be non-intrusive: your code should not worry about retrying a fallible function.

Disclaimer

Retryable is currently high unstable and experimental, use it at your own risk.

Usage/Examples

#[retryable(max_attempts = 5, sleep_seconds = 2)]
pub async fn fallible_function(
    param: String,
) -> Result<String, Error> {
    // Fallible code
}

Known bugs

Retryable currently has some limitations/bugs and it can't be used by or with:

  • async_trait functions
  • function that use the move keyword in function body

If you encounter additional bugs feel free to fill an issue.

Contributing

Contributions are always welcome! If you find a bug or want to add a feature, please feel free to open a PR.

License

MIT

Dependencies

~6–19MB
~225K SLoC