Warren
Free tool

x-death decoder: why did this message die?

Paste a dead-lettered RabbitMQ message, or just its headers, and read its story in plain words: which queue rejected or expired it, how often, where it was published, what the consumer said, and which headers to strip before you send it back. It runs in your browser; what you paste is not sent anywhere.

Getting the JSON: rabbitmqadmin -f raw_json get queue=orders.dlq ackmode=ack_requeue_true count=5, or the management API: POST /api/queues/%2F/orders.dlq/get with {"count":5,"ackmode":"ack_requeue_true","encoding":"auto"}. Both put the messages back; on a quorum queue with a delivery limit read what a requeue costs first.

What the decoder reads