Джанго сельдерей не находит модуль сельдерея - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь настроить сельдерей с Django из tuts, но я продолжаю получать

ModuleNotFoundError: No module named 'celery'

У меня есть главный проект под названием Tasklist со структурой:

- Tasklist/
  - manage.py
  - Tasklist/
    - __init__.py
    - settings.py
    - celery.py
    - urls.py

My init .py выглядит следующим образом:

from __future__ import absolute_import, unicode_literals

from .celery import app as celery_app

__all__ = ['celery_app']

И мой celery.py выглядит так:

from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

app = Celery('')

@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))

Я не уверен, что мне нужно изменитьsettings.py - но я работаю в локальной среде, поэтому мне не нужно запускать работника сельдерея?Я в замешательстве!

Я читал, что django-celery теперь избыточен, последняя версия сельдерея здесь, поэтому у меня установлен только сельдерей 4.1.1.

1 Ответ

0 голосов
/ 22 июня 2018

Шаги:

  1. Если сельдерей установлен на virtualEnv, активировать VirtualEnv
  2. Перейти к пути: /path/to/Tasklist/ (до уровня имени приложения)
  3. Выполнить celery -A Tasklist worker -l info

-A для имени приложения.

Настройка и установка сельдерея: Официальный документ

В Settings.py Ниже можно управлять настройкой.

BROKER_URL = 'redis://localhost:6379/0'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
...