Сельдерей не выполняет несколько задач, когда рабочий запускается из сервиса - PullRequest
2 голосов
/ 17 февраля 2020

My Python Flask приложение поддерживает некоторые длительные задачи, которые вызываются с помощью вызовов API или CURL из некоторых других систем.

Когда я выполняю следующую команду, вручную вводя ее в терминал , это прекрасно работает.

celery worker -A manage.celery --loglevel=info -f log/celery.log

Теперь я хочу создать службу для сервера, где, если система перезапускается, этот работник сельдерея должен запускаться самостоятельно. Но, когда следующая команда выполняется из службы, она не берет никаких новых задач из очереди.

celery worker -A manage.celery --pool=solo --loglevel=info -f log/celery.log

Я вижу сервер, выполняющий вызовы CURL, но основные задачи не начать в сельдерее.

Есть идеи, как это можно решить?

1 Ответ

0 голосов
/ 17 февраля 2020

Произошла проблема в команде, записанной в файле служб. Моя команда в файле служб была celery worker -A manage.celery --pool=solo --loglevel=info -f log/celery.log

, тогда как на терминале я использовал команду celery worker -A manage.celery --loglevel=info -f log/celery.log. Здесь --pool=solo не использовалось, и, таким образом, можно было выполнить несколько задач.

Обновлена ​​команда в файле служб, и она также начала выполнять несколько задач.

Глубокое понимание пулов выполнения можно получить из этой ссылки .

...