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
- 🍴 Fork the repository and create a new branch for your work.
- 🛠️ Make your changes and ensure they are well-tested.
- ✅ Make sure all pipelines pass successfully before tagging me for review.
- 📤 Submit a pull request (PR) with a clear description of the changes you made.
- 🔗 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
- 🔍 Find an issue or planned feature you'd like to work on.
- 💬 Comment on the issue or create a new issue for the planned feature.
- 🙋 Tag me (
@semicolon-10) to assign the issue to you. - 🖊️ Work on the issue in your forked repository and submit a pull request.