Le céleri: la détection automatique ne trouve pas de module tâches dans l'app

J'ai la configuration suivante avec une nouvelle installé le céleri et 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

La livraison d'un Message à l'celeryd fonctionne très bien, mais la tâche est toujours non (si la détection automatique ne semble pas fonctionner correctement ici). Seulement si j'ai importer le module tâches dans tasks/__init__.py la tâche est trouvé et je peux l'utiliser.

Également la documentation est un peu déroutant au sujet de la décoratrice d'importation, mais je pense que c'est la bonne maintenant.

Où est le bug dans mon installation?

OriginalL'auteur Martin | 2012-04-19