Flask 错误:无法加载 celery 应用程序

Moh*_*aba 4 python celery flask celery-task python-3.x

请帮我解决这个问题 我在跑步时遇到了这个问题

celery -A app.celery worker --loglevel=info
Run Code Online (Sandbox Code Playgroud)

错误:

Unable to load celery application.
The module app.celery was not found.
Run Code Online (Sandbox Code Playgroud)

我的代码是——

#  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"
Run Code Online (Sandbox Code Playgroud)

目录结构-- newYoutube/app/auth/routes.py 并且此功能存在于 routes.py 中 auth is blueprint。

Dav*_*ith 5

通过调用 celery 时

celery -A app.celery ...
Run Code Online (Sandbox Code Playgroud)

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

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

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