Автообнаружение сельдерея:не находит модуль задач в приложении

У меня следующая установка со свежеустановленным celery и django 1.4:

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

Доставка сообщений на celeryd работает нормально, но задача всегда незарегистрирована (Поэтому автообнаружение здесь работает некорректно). Только если я импортирую модуль задач в tasks/__init__.py, задача будет найдена, и я смогу ее использовать.

Также документация была немного запутанной в отношении импорта декоратора, но я думаю, что сейчас это правильно.

Где ошибка в моей настройке?

12
задан Guilherme David da Costa 19 April 2012 в 20:36
поделиться