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

AttributeError:“ Flask”对象没有属性“ user_options”

诸葛品
2023-03-14
问题内容

我正在尝试通过以下文档设置此基本示例:

http://flask.pocoo.org/docs/patterns/celery/

但是到目前为止,我一直收到以下错误:

AttributeError:“ Flask”对象没有属性“ user_options”

我正在使用芹菜3.1.15。

from celery import Celery

def make_celery(app):
    celery = Celery(app.import_name, broker=app.config['CELERY_BROKER_URL'])
    celery.conf.update(app.config)
    TaskBase = celery.Task
    class ContextTask(TaskBase):
        abstract = True
        def __call__(self, *args, **kwargs):
            with app.app_context():
                return TaskBase.__call__(self, *args, **kwargs)
    celery.Task = ContextTask
    return celery

例:

from flask import Flask

app = Flask(__name__)
app.config.update(
    CELERY_BROKER_URL='redis://localhost:6379',
    CELERY_RESULT_BACKEND='redis://localhost:6379'
)
celery = make_celery(app)


@celery.task()
def add_together(a, b):
    return a + b

回溯错误:

Traceback (most recent call last):
  File "/usr/local/bin/celery", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/celery/__main__.py", line 30, in main
    main()
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 81, in main
    cmd.execute_from_commandline(argv)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 769, in execute_from_commandline
    super(CeleryCommand, self).execute_from_commandline(argv)))
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 305, in execute_from_commandline
    argv = self.setup_app_from_commandline(argv)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 473, in setup_app_from_commandline
    user_preload = tuple(self.app.user_options['preload'] or ())
AttributeError: 'Flask' object has no attribute 'user_options'

问题答案:

“基于Flask
Celery的后台任务”页面(http://flask.pocoo.org/docs/patterns/celery/)建议这样做来启动celery:

celery -A your_application worker

your_application字符串必须指向创建celery对象的应用程序包或模块。

假设代码驻留在application.py中,显式指向celery对象( 而不仅仅是模块名称 )避免了该错误:

celery -A application.celery worker



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

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

  • 问题内容: 我想转换火花数据框架以使用以下代码添加: 详细的错误消息是: 有人知道我在这里做错了吗?谢谢! 问题答案: 您无法使用数据框,但可以将数据框转换为RDD并通过映射将其映射。在Spark 2.0之前,别名为。使用Spark 2.0,您必须先明确调用。

  • 问题内容: 我如何解决此错误,我是从GitHub下载此代码的。 引发错误 请帮我解决这个问题! 我用了: 我得到这个错误。有人帮我,我只想让它工作为什么这么难? 问题答案: 我怀疑您从中复制代码的地方启用了急切执行功能,即在程序开始时调用了该位置。 您也可以这样做。希望能有所帮助。 更新:请注意,默认情况下,TensorFlow 2.0中启用了急切执行。因此,以上答案仅适用于TensorFlow

  • 问题内容: 下面的代码给出了错误: 码: 问题答案: 从代码中,我可以看到你希望允许用户下载pdf。 现在开始 去 http://localhost:5000

  • 问题内容: 当我尝试时,会发生错误: 我找到了带有pyelasticsearch.py 的链接https://github.com/toastdriven/pyelasticsearch/blob/master/pyelasticsearch.py​​#L424-469,但我不知道它是哪个版本。无论如何,该代码中没有购买我的pyelasticsearch.py​​。任何人都有相同的经历吗?感谢您的