Celery не обнаруживает общие задачи в других модулях - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь использовать сельдерей с Джанго и не очень далеко.Я также использую джанго-сельдерей.Кажется, я не обнаруживаю общие задачи в других модулях.

Вот код:

proj / proj / settings.py:

INSTALLED_APPS = [
  "django_celery_beat",
  "proj",
  "proj.myapp",
]
CELERY_BROKER_URL = "amqp://user:password@localhost:5672/vhost"

proj / proj / __ init__.py:

from proj.celery import app as celery_app

__all__ = ('celery_app',)

proj / proj / celery.py:

import os
from celery import Celery
from django.conf import settings

if not settings.configured:
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')

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

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

proj / app / tasks.py:

from celery import shared_task

@shared_task
def add(x, y):
    return x + y

Когда я смотрю на интерфейс администратора для django-beat, я вижу только "proj.celery.debug_task", а не "myapp.tasks.add"

Есть идеи почему?


edit:

Argh !! Оказывается, что «фейкерная» библиотека (которую я использовал в своем глупом тестезадач) не был установлен в моей среде.Тем не менее, функция сельдерея autodiscover_tasks не работает тихо - поэтому я не знал, в чем была ошибка.

Так что в основном это была глупость программиста.

...