resilient-rs

Crates.ioresilient-rs
lib.rsresilient-rs
version0.4.10
created_at2025-02-28 08:09:21.620637+00
updated_at2025-03-27 12:50:27.223666+00
descriptionA Rust utility library for fault tolerance, including retry strategies, backoff mechanisms, and failure handling.
homepagehttps://crates.io/crates/resilient-rs
repositoryhttps://github.com/semicolon-10/resilient-rs.git
max_upload_size
id1572561
size93,777
Semicolon (semicolon-10)

documentation

https://docs.rs/resilient-rs

README

Resilient-rs

A Rust utility library for fault tolerance, including retry strategies, backoff mechanisms, failure handling and much more.

Join Community Badge GitHub contributors Crates.io Downloads Docs.rs

💖 Loved the work? Subscribe to my YouTube channel or consider giving this repository a ⭐ to show your support!


🚀 Feature Overview

Here’s a snapshot of what this library brings to the table—resilience, reliability, and a sprinkle of magic! Check out the features, their details, and where they stand:

Feature Description Status
🔄 Retry 🚀 Advanced retry strategies:
   1️⃣ Linear
   2️⃣ Exponential Backoff
   3️⃣ Exponential Backoff with Jitter
   4️⃣ Fibonacci Backoff
   5️⃣ Arithmetic Progression
🔧 Supports custom retry conditions
Stable
⚡ Execute Execute operations with timeout and fallback—like a pro 💪 Stable
🧵 Parallel Exec ⚙️ Run multiple tasks concurrently with configurable limits 🚀 🛠️ Planned
🛡️ Circuit Breaker 🔥 Prevents cascading failures by halting operations when failure thresholds are breached 🚧 ⚠️ Thread Unsafe
📦 Memoize 💾 Future caching support for improved performance 🚀 🛠️ Planned
📜 Logging 🕵️ Detailed logging for debugging—like a detective 🔍 Stable
📚 More Examples 📖 Additional demos to inspire and illustrate usage ✨ 🛠️ Planned

Notes:

  • Supported Contexts: All features work seamlessly for both synchronous and asynchronous operations—flexibility is our middle name!

🏃‍♂️ Runtime Compatibility

This library plays nice with your favorite Rust async runtimes. The resilient_rs::asynchronous module has you covered with:

  • Tokio - Power up with Tokio’s async I/O and runtime
  • async-std - Keep it light with async-std’s sleek runtime
  • futures - Stick to the basics with the core futures crate and blocking execution

📦 How to Use resilient-rs

Here’s a quick example of how to use the resilient-rs crate in your Rust project.

1️⃣ Add resilient-rs to Your Cargo.toml

Add the following line to your Cargo.toml file:

[dependencies]
resilient-rs = "0.4.10" # Replace with the latest version

OR

cargo add resilient-rs

📖 Examples

Hover over the function you want to use in your IDE to see code documentation examples, or check out the code-examples folder for example usage of this crate.

🚀 Contributing

We welcome your contributions! Please check out our Contributing Guidelines to get started.

Commit count: 0

cargo fmt