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

Kombu consumer error handling

Open a-belevich opened this issue 3 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