baseplate.py
baseplate.py copied to clipboard
Kombu consumer error handling
Closes #
💸 TL;DR
Increase a choice of error handling strategies in the KombuConsumer. In addition to writing their own error handling function, or relying on standard behavior that requeues message on error, it adds a 3rd option: republish the message. I.e., acknowledge the current message and publish its copy back into the queue, with incremented retries counter (similar to what Celery is doing).
📜 Details
🧪 Testing Steps / Validation
The republish mode with retries limit was tested on Snoodev. Unit tests were added..
✅ Checks
- [ ] CI tests (if present) are passing
- [ ] Adheres to code style for repo
- [ ] Contributor License Agreement (CLA) completed if not a Reddit employee
Thank you, will do.
I'm approving the run of CI/CD just so you can get some notion of pass/fail, but the PR will remain in this state till the spec change can be approved. Thanks for being flexible with that! Happy to discuss this further in the #baseplate-spec channel
https://github.snooguts.net/reddit/baseplate.spec/pull/70 is the spec PR; it's approved by I have no permissions to merge it.