celery
5 celery介绍架构和安装
# celery:芹菜,分布式异步任务框架
# 注意:Celery is a project with minimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform. ---》使用别的方式可以运行在win上
# celery可以做的事:
1 异步执行:解决耗时任务,将耗时操作任务提交给Celery去异步执行,比如发送短信/邮件、消息推送、音视频处理等等
2 延迟执行:解决延迟任务
3 定时执行:解决周期(周期)任务,比如每天数据统计
# celery的概念:celery是独立的服务,跟其它框架无关,需要单独启动
"""
1)可以不依赖任何服务器,通过自身命令,启动服务
2)celery服务为为其他项目服务提供异步解决任务需求的
注:会有两个服务同时运行,一个是项目服务,一个是celery服务,项目服务将需要异步处理的任务交给celery服务,celery就会在需要时异步完成项目的需求
人是一个独立运行的服务 | 医院也是一个独立运行的服务
正常情况下,人可以完成所有健康情况的动作,不需要医院的参与;但当人生病时,就会被医院接收,解决人生病问题
人生病的处理方案交给医院来解决,所有人不生病时,医院独立运行,人生病时,医院就来解决人生病的需求
"""
# celery的架构
# 1 消息中间件broker---》redis,rabbitmq
# 2 任务执行单元worker--》celery的进程
# 3 结果存储(backend):Task result store---》redis,mysql,rabbitmq。。。
6 celery基本使用
# pip install celery
# 第一步:实例化得到app对象,注册任务
from celery import Celery
backend='redis://127.0.0.1:6379/1' # 结果存储
broker='redis://127.0.0.1:6379/2' # 消息中间件
app=Celery('main',broker=broker,backend=backend)
#任务 --->变成了celery的任务了
@app.task
def add(a,b):
import time
time.sleep(2)
return a+b
# 第二步:提交任务---第三方来提交
from main import add
res=add.delay(4,5) # 把任务提交到消息中间件中
# 第三步:使用celery 来执行任务:启动worker
# win上:装eventlet
celery -A main worker -l info -P eventlet
# linux、mac上
celery -A main worker -l info
# 第四步:查看任务执行结果---》手动去redis中看
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现