Le céleri ImportError: No module named proj
Je suis en train de configuration de Céleri avec Django. J'ai suivi le guide:
project/project/celery.py:
from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
app = Celery('proj')
# Using a string here means the worker will not have to
# pickle the object when using Windows.
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
alors...
project/project/__init__.py:
from __future__ import absolute_import
# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app
project/apps/test/tasks.py
from __future__ import absolute_import
from celery import shared_task
@shared_task
def add(x, y):
return x + y
Puis exécutez:
de céleri -Un proj travailleur -l info
qui donne l'erreur:
File "/Users/user/Documents/workspace/test-api/env/lib/python2.7/site-packages/kombu/utils/__init__.py", line 92, in symbol_by_name
module = imp(module_name, package=package, **kwargs)
File "/Users/user/Documents/workspace/test-api/env/lib/python2.7/site-packages/celery/utils/imports.py", line 101, in import_from_cwd
return imp(module, package=package)
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named proj
OriginalL'auteur Prometheus | 2015-04-28
Vous devez vous connecter pour publier un commentaire.
Votre projet est nommé
project
, pasproj
. Vous devriez utiliser ce nom dans tout.OriginalL'auteur Daniel Roseman
Je veux juste dire que si vous avez correctement nommé tout et vous avez encore le module ne trouve pas d'erreur (j'ai passé des heures à essayer de comprendre cela)... Ensuite, vous devez placer la commande "céleri -Un proj travailleur -l info" ci-dessus, les applications de la branche
"Le céleri programme peut être utilisé pour démarrer le travailleur (vous devez exécuter le travailleur dans le répertoire ci-dessus proj):" selon les docs
OriginalL'auteur Curious Lambda