flask+celery处理惩罚异步任务

[复制链接]
发表于 2025-12-31 17:41:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
celery是一个强大的分布式任务队列,在这里我们先容一下它最根本的处理惩罚异步任务的功能,包罗以下几个:

      
  • 创建Celery实例
      
  • 创建一个异步任务
      
  • 查询异步任务的信息
      
  • 取消异步任务

利用的环境是flask3.0+Celery5.4
1. 创建Celery实例

celery通过中央件获取任务,再将任务结果写入backend,以是创建实例时须要转达这两个的url,其支持多种协议(好比redis、rabbitmq等),这里我们以redis为例。最简朴的一种是创建对象时转达:
  1. from celery import Celery
  2. celery_app = Celery(__name__, broker='redis://localhost:6379/0', backend='redis://localhost:6379/1')
复制代码
别的一种是利用设置文件,按官方文档的例子,在同级目次创建一个celeryconfig.py文件,写入设置信息,然后更新celery对象的设置:
  1. celery_app = Celery(__name__)
  2. apcelery_appp.config_from_object('celeryconfig')
复制代码
但大概是由于Celery版本标题,设置字段改变了(巨细写改变),这种方法毗连backend不停报错,临时还没找到缘故原由
2. 创建一个异步任务

雷同于flask,celery也利用装饰器来创建任务处理惩罚函数,好比官方例子:
  1. @celery_app.task
  2. def add(x, y):
  3.     ret
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表