celery:celery介绍、架构、基本使用、celery执行异步任务,延迟任务,定时任务、django中使用celery

目录一、 celery1 celery介绍和架构1.1 架构2 celery基本使用2.1 普通使用2.2 包结构3 celery执行异步任务,延迟任务,定时任务3.1 异步任务3.2 延迟任务3.3定时任务4 django中使用celery5 首页轮播图接口加入缓存一、 celery1 celery介绍和架构# celery:芹菜,分布式的异步任务框架# celery能干什么:异步任务,延迟任务,定时任务异步执行:解决耗时任务,将耗时操作任务提交给Celery去异步执行,比如发送短信/邮件、消息
摘要由CSDN通过智能技术生成

一、 celery介绍

Celery 官网:http://www.celeryproject.org/
Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.html

# celery:芹菜,分布式的异步任务框架

⭐celery能干什么:异步任务,延迟任务,定时任务
  -异步执行:解决耗时任务,将耗时操作任务提交给Celery去异步执行,比如发送短信/邮件、消息推送、音视频处理等等、
  -延迟执行:解决延迟任务
  -定时执行:解决周期(周期)任务,比如每天数据统计

"""
1)可以不依赖任何服务器,通过自身命令,启动服务
2)celery服务为为其他项目服务提供异步解决任务需求的
注:会有两个服务同时运行,一个是项目服务,一个是celery服务,项目服务将需要异步处理的任务交给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

Sanic:python3.5以上,不支持win
	-选择使用mac开发
    -装乌班图
    -win远程连接linux开发
    
uwgi(不支持win)+django

二、 celery架构

# 消息中间件(broker)
Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括, Redis等等

# 任务执行单元(workers)
Worker是Celery提供的任务执行的单元,worker并发的运行在分布式的系统节点中(本质,一个work就是一个进程)# 任务结果存储(backend)
Task result store用来存储Worker执行的任务的结果,Celery支持以不同方式存储任务的结果,包括 redis等

在这里插入图片描述

三、 celery基本使用

# 安装:
pip install celery

# win上启动work
## 4.x版本及之前
pip install eventlet
celery worker -A celery_task -l info -P eventlet
## 5.x版本
pip install eventlet
celery -A celery_task worker -l info -P eventlet


# linux中启动work
celery worker -A celery_task -l info
celery -A celery_task worker -l info


# 启动beat的命令(负责每隔几秒钟,向任务队列中提交任务)
celery beat -A celery_task -l info

两种celery任务结构:提倡用包管理,结构更清晰

如果 Celery对象:Celery(...) 是放在一个模块下的
1)终端切换到该模块所在文件夹位置:scripts
2)执行启动worker的命令:celery worker -A 模块名 -l info -P eventlet
注:windows系统需要eventlet支持,Linux与MacOS直接执行:celery worker -A 模块名 -l info
注:模块名随意


如果 Celery对象:Celery(...) 是放在一个包下的
1)必须在这个包下建一个celery.py的文件,将Celery(...)产生对象的语句放在该文件中
2)执行启动worker的命令:celery worker -A 包名 -l info -P eventlet
注:windows系统需要eventlet支持,Linux与MacOS直接执行:celery worker -A 模块名 -l info
注:包名随意

3.1 普通使用

新建celery_task.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值