Ho la seguente configurazione con un sedano fresco installato e Django 1.4:Sedano: rilevamento automatico non trova il modulo compiti app
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
Il recapito del messaggio al celeryd funziona correttamente, ma l'attività è sempre non registrata (quindi l'auto discovery non sembra funzionare correttamente qui). Solo se importare il modulo delle attività in tasks/__init__.py
viene trovata l'attività e posso usarla.
Anche la documentazione è stata un po 'di confusione sull'importazione del decoratore, ma penso che ora sia quella giusta.
Dove si trova il bug nel mio setup?
Lo metterò alla prova più tardi, ma come ho visto su Pypi, 2.5.5 è stato rilasciato ieri, quindi questa è davvero una buona informazione! – Martin
Sì, funzionava :) – Martin