Форум сайта python.su
Есть celery-worker, который обслуживает конкретную очередь:
python manage.py celery worker -c 1 -E -l INFO -n phones -Q htc
“-n phones” - имя воркера
“-Q htc” - имя, обслуживаемой очереди
Динамически создаю новую очередь и отправляю её воркеру “phones”.
Как заставить воркер обслуживать одновременно две очереди. Чтобы брал задания из каждой очереди.
Сейчас же он берёт по принципу FIFO.
PS. “-c 1” это для пирмера. Увеличивать concurrency не вариант. Необходимо равномерно опустошать очереди.
Брокер: RabbitMQ/Redis
Офлайн
Указать вторую очередь через запятую.
Но это все равно не гарантирует математической равномерности.
Офлайн
Lexander-Q htc,lg
Указать вторую очередь через запятую.
Офлайн
Динамически задаете название очереди или что?
http://docs.celeryproject.org/en/latest/userguide/workers.html#std:control-add_consumer
Офлайн
LexanderИменно это я и использую.
http://docs.celeryproject.org/en/latest/userguide/workers.html#std:control-add_consumer
Офлайн