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)