Celery itself supports retries and dead letter queue behavior ( when paired with brokers like RabbitMQ or Redis