Мне нужно читать из Rabbitmq и параллельно выполнять задачу, используя Celery в одной системе.
[2014-12-30 15:54:22,374: INFO/Worker-1] ...
[2014-12-30 15:54:23,401: INFO/Worker-1] ...
[2014-12-30 15:54:30,878: INFO/Worker-1] ...
[2014-12-30 15:54:32,209: INFO/Worker-1] ...
[2014-12-30 15:54:33,255: INFO/Worker-1] ...
[2014-12-30 15:54:48,445: INFO/Worker-1] ...
[2014-12-30 15:54:49,811: INFO/Worker-1] ...
[2014-12-30 15:54:50,903: INFO/Worker-1] ...
[2014-12-30 15:55:39,674: INFO/Worker-1] ...
[2014-12-30 15:55:41,024: INFO/Worker-1] ...
[2014-12-30 15:55:42,147: INFO/Worker-1] ...
Это швы, только 1 рабочий работает все время .. т.е. один за другим в последовательном порядке. Как я могу настроить Celery для запуска нескольких рабочих параллельно?
Я нашел это
http://docs.celeryproject.org/en/latest/reference/celery.html?highlight=parallel
Вы можете найти Canvas-примитивы там, где вы можете увидеть, как создавать группы для параллельного выполнения.
В противном случае хорошим способом будет пойти на канал IRC и задать специальные вопросы. Обычно есть люди, которые знают это очень хорошо, и они могут помочь вам.
источник
Похоже, ваш работник просто запускает один процесс / поток. Вероятно, вам просто нужно добавить аргумент
--concurrency
or-c
при запуске работника для создания нескольких (параллельных) экземпляров работника.источник