baseplate.py icon indicating copy to clipboard operation
baseplate.py copied to clipboard

Kombu consumer error handling

Open a-belevich opened this issue 2 years ago • 2 comments

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

Design Doc

🧪 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

a-belevich avatar Sep 10 '22 05:09 a-belevich

Thank you, will do.

a-belevich avatar Sep 14 '22 17:09 a-belevich

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

nsheaps avatar Sep 14 '22 18:09 nsheaps

https://github.snooguts.net/reddit/baseplate.spec/pull/70 is the spec PR; it's approved by I have no permissions to merge it.

a-belevich avatar Oct 14 '22 17:10 a-belevich