Celery: Ошибка в документах: CELERY_ROUTES -> CELERY_TASK_ROUTES

Созданный на 3 сент. 2018  ·  3Комментарии  ·  Источник: celery/celery

CELERY_ROUTES должен быть CELERY_TASK_ROUTES
http://docs.celeryproject.org/en/latest/userguide/configuration.html

потратил несколько часов, прежде чем понять это :(
Я предполагаю, что то же самое относится к CELERY_QUEUES

Documentation Sprint Candidate

Самый полезный комментарий

Документы на самом деле верны, но мне потребовалось некоторое время, чтобы понять, почему — я объясню, если это поможет другим.

CELERY_ROUTES — старое имя параметра сельдерея, которое теперь заменено на task_routes . Однако, если вы хотите указать настройки Celery в файле настроек _Django_, они должны быть в верхнем регистре, как того требует документация Django. Это будет означать добавление TASK_ROUTES в ваш файл настроек Django, но во избежание конфликта с другими настройками django рекомендуется добавлять к настройкам сельдерея префикс CELERY_ , что приведет к добавлению, например, CELERY_TASK_ROUTES в файл настроек Django. Затем ваш код загрузит это в приложение celery, выполнив что-то вроде этого:

app.config_from_object('django.conf:settings', namespace='CELERY')

Это приведет к тому, что Celery возьмет CELERY_TASK_ROUTES , удалит префикс пространства имен, чтобы получить TASK_ROUTES , и уменьшит регистр, чтобы получить task_routes . В результате он установит конфигурацию сельдерея через новое имя.

В итоге:

  • CELERY_ROUTES — старое название параметра сельдерея.
  • CELERY_TASK_ROUTES — это изменение имени нового параметра с префиксом в верхнем регистре, обычно используемое для установки имени нового параметра из файла настроек Django.

Надеюсь, это поможет.

(На основе моего более короткого комментария к этому ответу о переполнении стека )

Все 3 Комментарий

не могли бы вы отправить pr с предлагаемыми правками?

Документы на самом деле верны, но мне потребовалось некоторое время, чтобы понять, почему — я объясню, если это поможет другим.

CELERY_ROUTES — старое имя параметра сельдерея, которое теперь заменено на task_routes . Однако, если вы хотите указать настройки Celery в файле настроек _Django_, они должны быть в верхнем регистре, как того требует документация Django. Это будет означать добавление TASK_ROUTES в ваш файл настроек Django, но во избежание конфликта с другими настройками django рекомендуется добавлять к настройкам сельдерея префикс CELERY_ , что приведет к добавлению, например, CELERY_TASK_ROUTES в файл настроек Django. Затем ваш код загрузит это в приложение celery, выполнив что-то вроде этого:

app.config_from_object('django.conf:settings', namespace='CELERY')

Это приведет к тому, что Celery возьмет CELERY_TASK_ROUTES , удалит префикс пространства имен, чтобы получить TASK_ROUTES , и уменьшит регистр, чтобы получить task_routes . В результате он установит конфигурацию сельдерея через новое имя.

В итоге:

  • CELERY_ROUTES — старое название параметра сельдерея.
  • CELERY_TASK_ROUTES — это изменение имени нового параметра с префиксом в верхнем регистре, обычно используемое для установки имени нового параметра из файла настроек Django.

Надеюсь, это поможет.

(На основе моего более короткого комментария к этому ответу о переполнении стека )

Была ли эта страница полезной?
0 / 5 - 0 рейтинги