У меня есть 2 типа задач, одна из которых создается пользователем, а другая - огромными партиями.Задачи собираются в отдельные очереди («короткие» и «длинные»). Когда в одной очереди есть задачи (т. Е. Этот огромный пакет), Celery выбирает только те задачи, полностью игнорируя другую очередь, пока весь пакет не будет завершен.
Example:
send 100 slow tasks to "long" queue
send 100 small tasks to "short" queue
send 100 slow tasks to "long" queue
send 100 small tasks to "short" queue
Celery behaviour:
process 100 tasks form "long" queue
process 100 tasks form "short" queue
process 100 tasks form "long" queue
process 100 tasks form "short" queue
Это происходит даже тогда, когда я устанавливаю rate_limit для медленных задач, это идет в «длинную» очередь.Все, что я получаю, это медленные задачи, которые дольше блокируют систему: / Есть ли способ убедиться, что Celery выбирает задачи из всех очередей?(Я использую Celery 2.5.1 с RabbitMQ)