当前位置: 首页 > 面试题库 >

在Flask中开始Celery:AttributeError:“ Flask”对象没有属性“ user_options”

乐正乐湛
2023-03-14
问题内容

我尝试从命令行启动Celery辅助服务器

celery -A server application worker --loglevel=info

代码和文件夹路径:

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"

追溯:

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'

在终端中运行celery工人时出现此错误。


问题答案:

只需使用此命令而不是您的命令运行celery:

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

这将解决您当前的问题,但是您的代码有很多错误,例如,如果您想在add_together函数中包含自变量,则应声明如下任务:

@celery.task(bind=True)


 类似资料:
  • 问题内容: 我正在尝试通过以下文档设置此基本示例: http://flask.pocoo.org/docs/patterns/celery/ 但是到目前为止,我一直收到以下错误: AttributeError:“ Flask”对象没有属性“ user_options” 我正在使用芹菜3.1.15。 例: 回溯错误: 问题答案: “基于Flask Celery的后台任务”页面(http://flas

  • 问题内容: 我对Python比较陌生,并且一直关注Miguel Grinberg Flask Mega-Tutorial。 我有一个非常简单的表格,当我尝试提交时,收到以下错误: AttributeError:’StringField’对象没有属性’translate’ 形式如下: views.py: 我的模板如下: 我一直无法解决这个问题,但这就是我所关注的。 一个担忧来自PyCharm告诉我,

  • 问题内容: 但是,这给了我一个AttributeError,我将在下面粘贴StackTrace。这完全是我从示例来源中粘贴的错误。我确实使用PeeWee代替了SQLAlchemy,但是由于这段代码对数据库没有任何作用,但是我不知道为什么会这样。 有人知道我在这里做错什么吗? 问题答案: g.user全局 如果你要注意的话,你会记得在登录视图功能中我们检查以确定用户是否已经登录。要实现此目的,我们将

  • 问题内容: 我的flask登录有问题。填写登录表单并单击“提交”后,出现此错误: Flask-login AttributeError:“用户”对象没有属性“ is_active” 创建了一些测试用户。而且登录模板没有问题 追溯: My code in views: My model: 问题答案: 你应该在模型上进行子类化。你还应该添加一个user_loader

  • python小白,今天按课本上的实例写了如下代码,运行后一直报错:AttributeError: 'NameForm' object has no attribute 'validate_on_submite' ,上网查之后说是可能导入了两个Form,导致后面的Form覆盖前面导入的Form,我仔细地核对了一遍,并没有发现这个问题,已经校对了一下午,仍不能运行,通过自查也不能解决,现向各位大佬求助

  • 问题内容: 我正在使用以下内容:python 3.6.4 flask= 1.1.1, Keras = 2.3.0, TensorFlow = 1.14.0,我有一个Flask服务器,可以从客户端获取图片。将Keras模型与TensorFlow后端结合使用时,我尝试从预先训练的模型中获得预测。 我正在使用以下函数上传模型(作为类的一部分) 我使用以下代码进行预测: 直到今天,我还没有任何问题,总能得