celery是一个强大的分布式任务队列,在这里我们介绍一下它最基本的处理异步任务的功能,包含以下几个:
-
创建Celery实例
-
创建一个异步任务
-
查询异步任务的信息
-
取消异步任务
使用的环境是flask3.0+Celery5.4
1. 创建Celery实例
celery通过中间件获取任务,再将任务结果写入backend,所以创建实例时需要传递这两个的url,其支持多种协议(比如redis、rabbitmq等),这里我们以redis为例。最简单的一种是创建对象时传递:
from celery import Celery
celery_app = Celery(__name__, broker='redis://localhost:6379/0', backend='redis://localhost:6379/1')
另外一种是使用配置文件,按官方文档的例子,在同级目录创建一个celeryconfig.py文件,写入配置信息,然后更新celery对象的配置:
celery_app = Celery(__name__)
apcelery_appp.config_from_object('celeryconfig')
但可能是由于Celery版本问题,配置字段改变了(大小写改变),这种方法连接backend一直报错,暂时还没找到原因
2. 创建一个异步任务
类似于flask,celery也使用装饰器来创建任务处理函数,比如官方例子:
@celery_app.task
def add(x, y):
ret

最低0.47元/天 解锁文章
1223






