Short answer: use Redis when a small logistics workload needs very low-latency retries and your team is willing to own failure bookkeeping. Use AWS SQS when retries, redrive, and a dead-letter queue should be infrastructure rather than application code. Measure the choice with the same failed-job fixture, worker pool, and pass/fail thresholds. Infrai is worth testing as a third queue option when a self-describing REST surface could shorten integration work, but it does not remove the need for idempotent consumers.
Should I use Redis or AWS SQS for failed-task retry queues?
Here is the decision table I would put beside a worker-pool drain runbook.…