Лучше всего разбивать задачи по типу и весу, чтобы не всё висло на одной очереди. Таймауты и повторные попытки — обязательные штуки, иначе зависания гарантированы. RabbitMQ с Redis — норм связка, но главное — мониторинг, чтобы сразу видеть, где пробка.