python python-2.7 flask redis celery

python - Iniciar el apio en el matraz: AttributeError: el objeto ''Flask'' no tiene ningún atributo ''user_options''



python-2.7 redis (2)

Parece que tienes un error tipográfico:

def add_together(self, count):

a

def add_together(count):

Intento iniciar un servidor de trabajador de Apiler desde una línea de comando:

celery -A server application worker --loglevel=info

La ruta del código y la carpeta:

server.py application/controllers/routes.py

server.py

app = Flask(__name__) from application.controllers import routes app.run(host=''127.0.0.1'',port=5051,debug=True)

route.py

from flask import Flask, from celery import Celery from server import app app.config[''CELERY_BROKER_URL''] = ''redis://localhost:6379/0'' app.config[''CELERY_RESULT_BACKEND''] = ''redis://localhost:6379/0'' celery = Celery(app.name, broker=app.config[''CELERY_BROKER_URL'']) celery.conf.update(app.config) @celery.task() def add_together(self, count): return "First success" @app.route("/queing") def testsfunction(): count = 1 add_together.delay(count) return "cool"

Rastrear:

Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/bin/celery", line 11, in <module> sys.exit(main()) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/__main__.py", line 30, in main main() File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/bin/celery.py", line 81, in main cmd.execute_from_commandline(argv) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/bin/celery.py", line 770, in execute_from_commandline super(CeleryCommand, self).execute_from_commandline(argv))) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/bin/base.py", line 309, in execute_from_commandline argv = self.setup_app_from_commandline(argv) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/bin/base.py", line 477, in setup_app_from_commandline user_preload = tuple(self.app.user_options[''preload''] or ()) AttributeError: ''Flask'' object has no attribute ''user_options''

Recibí este error cuando estoy ejecutando un trabajador de apio en la terminal.


simplemente ejecuta el apio con este comando en lugar del tuyo:

celery -A application.controllers.routes:celery worker --loglevel=info

esto resolverá tu problema actual, pero tus códigos tienen muchos errores, por ejemplo, si quieres tener un auto argumento dentro de tu función add_together , debes declarar una tarea como esta:

@celery.task(bind=True)