celery
celery,处理任务的Python的模块 对任务进行分发和处理#
场景1:#
对【耗时的任务】,通过celery,将任务添加到broker(队列),然后立即给用户返回一个任务ID。
当任务添加到broker之后,由worker去broker获取任务并处理任务。
任务弯完成之后,再将结果放到backend中
用户想要检查结果,提供任务ID,我们就可以去backend中去帮他查找。
场景2:#
定时任务(定时发布/定时拍卖)
#################################################
环境搭建#
安装celery#
pip install celery
在安装broker ----redis或者rabbitMQ
安装redis#
pip istall redis
pip instal pika # 专门操作rabbitMQ
快速开始#

from celery import Celery task = Celery('task', broker="redis://192.168.56.131:6379/1",backend="redis://192.168.56.131:6379/2") @task.task def myfun1(x,y): return x+y @task.task def myfun2(): return 'func2' @task.task def myfun3(): return 'func3'

from s1 import myfun1, myfun2, myfun3 res = myfun1.delay() print(res.id) # 任务id # c4ac3a7e-870c-418a-a7a7-f8d3ae06cf9f

from celery.result import AsyncResult from s1 import task res=AsyncResult(id='c4ac3a7e-870c-418a-a7a7-f8d3ae06cf9f', app=task) print(res.ready()) # True print(res.successful()) # True print(res.get()) # func1
运行程序步骤
-
启动redis
-
启动worker
先安装 pip install eventlet
再启动 celery worker -A s1 -l info -P eventlet
# 进入目录 celery worker -A s1 -l info # -l是日志【代码上线就不加了】
在window上会报一个错
先安装 pip install eventlet
再启动 celery worker -A s1 -l info -P eventlet
3. 创建代码
python3 s2.py
4. 查看任务状态
python3 s3.py
分类:
Django
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2019-03-16 (二十四)微信小程序支付