Кстати, про "пухнет"
Очередь задач у нас на postgresql реализована. И уже видимо приближаемся к началу возникновения проблем, но пока еще норм. Задумались так же посмотреть на что-то готовое.
Celery (rabbitmq) покрывает не все потребности в очереди. Т.е. как доставка задач до воркеров - ок.
А вот планирование (как описал выше), каждая задача после выполнения, откладывается на некоторое время для повторного выполнения (определяется бизнес-логикой).
В очереди порядка 5-7 млн. задач. В день выполняется 200-300 т. задач.
Может кто-то посоветует что можно попробовать.
Основные требования: распределенная очередь (можно запускать много инстансов воркеров на разных серверах на один тип задач), приоритеты (у каждой задачи 2-3 уровня приоритета). Собственно наверно все, из важных требований.
Пока идея такая, что сделать свою очередь на postgres, с партицированием по типам задач и шардингом при необходимости. (текущая реализация не распределенная, можем запускать на один тип задач, только воркеры с одного инстанса).
celery != rabbit