how font change python flask celery celery-task

font - python plotly axis



Error del trabajador de apio: ImportError no hay módulo llamado apio (2)

Recibo un error de importación cuando intento iniciar mi trabajador de apio. No estoy seguro de cuál es el problema. Cualquier ayuda sería muy apreciada.

Mi proyecto:

email/__init__.py /celery.py

Intento ejecutar la aplicación llamando a:

celery worker --app=email

He seguido todos los pasos aquí: http://docs.celeryproject.org/en/latest/getting-started/next-steps.html#about-the-app-argument

El rastreo:

File "/Users/.../bin/celery", line 9, in <module> load_entry_point(''celery==3.0.24'', ''console_scripts'', ''celery'')() File "/Users/.../lib/python2.7/site-packages/celery/__main__.py, line 14, in main main() File "/Users/.../lib/python2.7/site-packages/celery/bin/celery.py", line 957, in main cmd.execute_from_commandline(argv) File "/Users/.../lib/python2.7/site-packages/celery/bin/celery.py", line 901, in execute_from_commandline super(CeleryCommand, self).execute_from_commandline(argv))) File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 185, in execute_from_commandline argv = self.setup_app_from_commandline(argv) File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 300, in setup_app_from_commandline self.app = self.find_app(app) File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 317, in find_app return self.find_app(''%s.celery:'' % (app.replace('':'', ''''), )) File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 311, in find_app sym = self.symbol_by_name(app) File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 322, in symbol_by_name return symbol_by_name(name, imp=import_from_cwd) File "/Users/.../lib/python2.7/site-packages/kombu/utils/__init__.py", line 80, in symbol_by_name module = imp(module_name, package=package, **kwargs) File "/Users/.../lib/python2.7/site-packages/celery/utils/imports.py", line 99, in import_from_cwd return imp(module, package=package) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) ImportError: No module named celery

Aquí está mi apio.

from __future__ import absolute_import from celery import Celery from app import mail celery = Celery(''email.celery'', broker = ''amqp://guest:guest@localhost:5672//'', backend = ''amqp://'') if __name__ == ''__main__'': celery.start() @celery.task def send_email(nickname, email): mail.send(msg)


El problema es que estás diciendo " oye hermano, oí que te gustaba que el apio tengas un poco de apio ".

Pero realmente deberías estar diciendo, " oye hermano, escuché que instalaste el apio, hagamos un archivo con un nombre realmente similar para no confundir el infierno de nuestro entorno ".

Cambie el nombre de su email/celery.py archivo email/celery.py por email/celery_app.py

Luego, cuando comience a trabajar con su trabajador, haga lo siguiente:

celery -A email worker --app=email.celery_app:app --loglevel=info # etc.

La clave es que no debe tener el archivo llamado celery.py en su estructura de archivos, pero si no lo tiene, entonces no puede confiar en que apio encuentre el apio, por lo que debe señalarlo especificando: aplicación de forma manual.


En realidad, estaba teniendo un problema similar, asumiendo que estaba siguiendo el tutorial de Próximos pasos y todo lo que tenía que hacer para resolver el problema era ejecutar al trabajador desde el directorio anterior, es decir, asumiendo que actualmente se encuentra en la ejecución del directorio del proyecto

cd .. celery -A proj worker -l info

Está funcionando para mí ahora.