Mam następującą konfigurację z zainstalowanym świeżego selera i django 1.4:Seler: auto odkrycie nie znajdzie modułu zadań w aplikacji
settings.py:
import djcelery
djcelery.setup_loader()
BROKER_HOST = 'localhost'
BROKER_PORT = 5672
BROKER_USER = 'user'
BROKER_PASSWORD = 'password'
BROKER_VHOST = 'test'
[...]
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.staticfiles',
'djcelery',
'south',
'compressor',
'testapp',
]
testapp/tasks.py:
from celery.task import task
@task()
def add(x, y):
return x + y
Dostarczenie wiadomości do selerad działa dobrze, ale zadanie jest zawsze niezarejestrowane (więc automatyczne odnajdywanie nie działa tutaj poprawnie). Tylko jeśli zaimportuję moduł zadań w tasks/__init__.py
, zadanie zostanie znalezione i będę mógł go użyć.
Również dokumentacja była nieco myląca co do importu dekoratora, ale myślę, że teraz jest właściwa.
Gdzie jest błąd w mojej konfiguracji?
Mam zamiar przetestować to później, ale jak widzę na Pypi, 2.5.5 zostało wydane wczoraj, więc jest to naprawdę dobra informacja! – Martin
Tak, zadziałało :) – Martin