Knife Wrench does two things:
This frees up RabbitMQ's memory, so the cluster isn't constantly syncing an ever-growing error queue, which provides stability.
It also allows us to diagnose the reason behind a message, which can be extremely helpful with bugfixing.
Humans can use a UI to mark a message as dealt with, and potentially resubmit it for processing as part of that.
This service stores details of errored AMQP messages, and can be found in the api directory.
For more details, see api/README.md
This service processes errored AMQP messages and POSTs them to the Knife Wrench API. It can be found in the adapter-worker directory.