首页 > 解决方案 > 烧瓶错误:无法加载芹菜应用程序

问题描述

请帮助我摆脱这个问题,我在跑步时遇到了这个问题

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 是蓝图。

标签: pythonpython-3.xflaskcelerycelery-task

解决方案


通过调用 celery 时

celery -A app.celery ...

celery 将celeryapp命名空间中查找名称,期望它包含一个Celery. 如果你把它放在别处(比如 in app.auth.routes),那么 celery 就找不到它。

我有一个工作示例,您可以从https://github.com/davewsmith/flask-celery-starter

或者,请参阅Flask Mega Tutorial的第 22 章,它使用rx代替celery,但构建代码的一般方法是相似的。


推荐阅读