Flask 学习-60.解决celery 启动报错Unable to load celery application

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask 学习-60.解决celery 启动报错Unable to load celery application相关的知识,希望对你有一定的参考价值。

前言

flask + celery 启动celery服务时报错:
Unable to load celery application.
The module app.celery was not found.

问题描述

执行启动celery worker 命令

celery -A app.celery worker -l info

结果出现报错Unable to load celery application

解决方案

我的app.py代码

from flask import Flask
from celery import Celery

# 基本配置
broker_url = 'redis://localhost:6379'
result_backend = 'redis://localhost:6379'


app = Flask(__name__)
celery_app = Celery(app.import_name,
                    broker=broker_url,
                    backend=result_backend)


@celery_app.task(name='demo/add')
def add(x, y):
    return x + y

由于我定义的Celery 实例名称是celery_app,所以启动的时候应用名称应该改成app.celery_app

 -------------- celery@DESKTOP-HJ487C8 v5.2.7 (dawn-chorus)
--- ***** -----
-- ******* ---- Windows-10-10.0.17134-SP0 2022-09-08 11:11:14
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app:         app:0x20e6cc88f40

[tasks]
  . demo/add

启动日志看到[tasks]说明正常启动了

以上是关于Flask 学习-60.解决celery 启动报错Unable to load celery application的主要内容,如果未能解决你的问题,请参考以下文章

Flask插件系列之flask_celery

python之celery在flask中使用

celery 启动beat出现报错ERROR: Pidfile (celerybeat.pid) already exists.

Flask 学习-58.基于 Celery 的后台任务

celery正常启动后能收到任务但不执行任务的解决办法

使用 Flask 动态调度 Celery Beat 任务