Увольнение двух сельдереев с одной линии - PullRequest
2 голосов
/ 28 марта 2020

Я работаю над проектом для моего университета в команде, в которой я в основном работал над внешним интерфейсом и некоторыми базовыми c django моделями, поэтому я не так знаком и красноречив с django -celery, и я тоже не настроил. Сначала мы использовали одного работника сельдерея, но мне пришлось добавить еще одного, чтобы я смог завершить sh историю пользователя.

В настоящее время я работаю с двумя работниками, по одному в терминале, например:

exec celery -A my_proj --concurrency=1 worker
exec celery -A my_proj --concurrency=1 worker -B -Q notification

Пока я запускаю эти два проекта, мой проект работает, но мне нужно, чтобы они начинались с одной строки. Итак: Как мне поместить эти два в одну строку для скрипта?

Пока я пробовал обойти это:

exec celery multi start celery -A my_proj --concurrency=1 notification -A my_proj --concurrency=1 -B -Q notification

Но это мешает моему проекту работать.

Любая помощь приветствуется, спасибо!

Ответы [ 2 ]

2 голосов
/ 28 марта 2020

Решение

celery multi start 2 -A my_proj -c=1 -B:2 -Q:2 notification

Выше указано, что 2 рабочих вместе со 2-м рабочим должны обрабатывать очередь notification и вставлять в нее ритм сельдерея

Объяснение

Вы можете запустить следующее, чтобы увидеть команды, следующие из этого

celery multi show 2 -A my_proj -c=1 -B:2 -Q:2 notification

Выход:

celery worker -A my_proj -c=1
celery worker -A my_proj -c=1 -B -Q notification
0 голосов
/ 28 марта 2020

попробуй

exec celery -A my_proj --concurrency=1 worker && exec celery -A my_proj --concurrency=1 worker -B -Q notification

...