Muszę czytać z Rabbitmq i wykonywać zadania równolegle, używając Selera w jednym systemie.
[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] ...
Wygląda na to, że tylko jeden pracownik pracuje cały czas, tzn. Jeden po drugim w kolejności sekwencyjnej. Jak mogę skonfigurować Celery do uruchamiania wielu pracowników równolegle?
Znalazłem to
http://docs.celeryproject.org/en/latest/reference/celery.html?highlight=parallel
Możesz poszukać prymitywów Canvas, gdzie możesz zobaczyć, jak tworzyć grupy do równoległego wykonywania.
W przeciwnym razie dobrym sposobem jest przejście na kanał IRC i zadanie specjalnych pytań. Zwykle są ludzie, którzy wiedzą to bardzo dobrze i mogą ci pomóc.
źródło
Wygląda na to, że pracownik wykonuje tylko jeden proces / wątek. Prawdopodobnie po prostu musisz dodać argument
--concurrency
lub-c
podczas uruchamiania procesu roboczego, aby spawnować wiele (równoległych) instancji procesu roboczego.źródło