resilient-rs 0.1.0

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

A Rust utility library for fault tolerance, including retry strategies, backoff mechanisms, failure handling and much more. 💖 Loved the work? Subscribe to my YouTube channel or consider giving this repository a ⭐ to show your support!

Features

Type Feature Status
Synchronous Retry ✅ Stable
Synchronous Retry-with-backoff 🚧 Under Development
Asynchronous Retry ✅ Stable
Asynchronous Retry-with-backoff 🚧 Under Development
Asynchronous Circuit Breaker 🛠️ Planned

🚀 Contributing Guidelines

We welcome contributions to this project! Please follow these steps to contribute:

🐛 For Issues

  • If you find an issue you'd like to work on, please comment on the issue and tag me (@semicolon-10) to assign it to you.
    💡 Tip: Make sure the issue is not already assigned to someone else!
  • Once assigned, you can start working on the issue. 🎉

🌟 For Planned Features

  • If you'd like to work on a feature listed in the "Planned" section of the README, first create a new issue for that feature.
    📝 Note: Clearly describe your approach or any details about how you plan to implement the feature.
  • Tag me (@semicolon-10) in the issue and request assignment. 🙋‍♂️

🔧 Submitting Your Work

  1. 🍴 Fork the repository and create a new branch for your work.
  2. 🛠️ Make your changes and ensure they are well-tested.
  3. ✅ Make sure all pipelines pass successfully before tagging me for review.
  4. 📤 Submit a pull request (PR) with a clear description of the changes you made.
  5. 🔗 Link the issue you worked on in the PR description.

🤝 Code of Conduct

  • Be respectful and collaborative when interacting with other contributors. 🤗
  • Ensure your code follows the project's coding standards and guidelines. ✅

🛠️ Example Workflow

  1. 🔍 Find an issue or planned feature you'd like to work on.
  2. 💬 Comment on the issue or create a new issue for the planned feature.
  3. 🙋 Tag me (@semicolon-10) to assign the issue to you.
  4. 🖊️ Work on the issue in your forked repository and submit a pull request.