Seler: automatyczne wykrywanie nie znajduje modułu zadań w aplikacji
Mam następującą konfigurację ze świeżo zainstalowanym selerem i django 1.4:
settings.py:
<code>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', ] </code>
testapp / tasks.py:
<code>from celery.task import task @task() def add(x, y): return x + y </code>
Dostarczanie wiadomości do selera działa dobrze, ale zadanie jest zawsze niezarejestrowane (więc automatyczne wykrywanie nie działa tutaj poprawnie). Tylko jeśli zaimportuję moduł zadań wtasks/__init__.py
zadanie zostało znalezione i mogę go użyć.
Również dokumentacja była nieco myląca w kwestii importu dekoratorów, ale myślę, że teraz jest to właściwy.
Gdzie jest błąd w mojej konfiguracji?