python - 烧瓶错误:无法加载芹菜应用程序
问题描述
请帮助我摆脱这个问题,我在跑步时遇到了这个问题
celery -A app.celery worker --loglevel=info
错误:
Unable to load celery application.
The module app.celery was not found.
我的代码是——
# Celery Configuration
from celery import Celery
from app import app
print("App Name=",app.import_name)
celery=Celery(app.name,broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
@celery.task
def download_content():
return "hello"
目录结构——newYoutube/app/auth/routes.py 并且这个函数存在于 routes.py 中 auth 是蓝图。
解决方案
通过调用 celery 时
celery -A app.celery ...
celery 将celery
在app
命名空间中查找名称,期望它包含一个Celery
. 如果你把它放在别处(比如 in app.auth.routes
),那么 celery 就找不到它。
我有一个工作示例,您可以从https://github.com/davewsmith/flask-celery-starter
或者,请参阅Flask Mega Tutorial的第 22 章,它使用rx
代替celery
,但构建代码的一般方法是相似的。
推荐阅读
- python - 有没有办法让 A 中的 * 线更靠近中间?
- mysql - 从函数或查询中自动设置列的值
- rabbitmq - 相关ID和交付标签有什么区别
- node.js - Quickdb add 不是 Quick.db 的函数错误
- java - 如何以编程方式在 Android Studio 中以编程方式更改 NavigationView 的图标颜色
- c++ - MulVAL 中的错误:“mylval”的多重定义;collect2:错误:ld 返回 1 个退出状态
- java - 调用方法来编辑 java 中另一个类的字符串时遇到问题
- javascript - JQuery.getJSON().done() 函数何时被准确调用?
- c++ - std::transform 不适用于静态分配的字符串
- r - 将函数传递给基于 R 正则表达式的工具