Proposal: require users to specify `:on_failure`
Closed this issue · 1 comments
As I updated the docs to show in #73, :reject_and_requeue
can cause an infinite retry loop if the message is unprocessable. This happened to us in production, as my colleague @shamil614 figured out.
I would like to suggest a (breaking) change which could prevent this problem.
Rather than defaulting to :reject_and_requeue
, the user could be required to specify one of these options. This would prompt them to consider the trade offs and whether they want to set up a dead letter exchange and potentially re-publish those messages. (@shamil614 came up with a way to do that, republishing a fixed number of times with an increasing delay using the RabbitMQ delayed message plugin to achieve a "back off" effect.)
Closed by #75.