#python #celery #django-celery
Вопрос:
Я использую celery4.x
с Django
и имею более двух задач в своей celery
очереди. Из-за ограничения GPU
, я могу запускать не более двух одновременно. Есть ли способ позволить третьей задаче подождать и выполнить одну из двух предыдущих задач? Я установил CELERYD_CONCURRENCY
пареметр в Django
s settings.py
, который, похоже, не работает.
Кто-нибудь знает? Спасибо
Ответ №1:
Запустите своего работника, используя аргумент параллелизма:
celery -A proj worker -l info --concurrency 2 -Q queue_name
Комментарии:
1. Можем ли мы реализовать это не с помощью скрипта?
2. Именно так вы начинаете работу, и это довольно стандартный способ определения параллелизма. Существует рабочая валюта ( docs.celeryproject.org/en/stable/userguide/… ), но я никогда по-настоящему им не пользовался
3. Кажется, это для того, чтобы установить многопроцессорность для одного работника, а не для нескольких работников?
4. Да, другими словами, именно столько задач может обрабатывать один работник одновременно.
5. Добавление этого bash в мой
celery
конфигурационный файл, и это решает мою проблему.