烧瓶错误:无法加载芹菜应用程序

时间:2019-12-24 19:01:58

标签: python python-3.x flask celery celery-task

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

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,而该功能存在于route.py内部 auth是蓝图。

1 个答案:

答案 0 :(得分:0)

通过调用芹菜时

celery -A app.celery ...

celery将在celery命名空间中寻找名称app,期望它包含Celery的实例。如果您将其放在其他地方(例如,在app.auth.routes中),那么芹菜将找不到它。

我有一个可行的示例,您可以在https://github.com/davewsmith/flask-celery-starter上婴儿床

或者,请参考Flask Mega Tutorial的第22章,该章使用rx而不是celery,但是构造代码的一般方法是相似的。