文章目录

  • Celery架构及介绍
  • Celery的优点
  • 版本支持情况
  • 使用场景

Celery架构及介绍

项目开发中经常碰到需要使用异步任务的场景,比如一个WEB请求中有运行时间很长的业务运算,如果不采用异步任务,会阻塞当前的web请求,影响用户体验

Celery的架构由三部分组成,消息中间件(message broker)任务执行单元(worker)任务执行结果存储(task result store) 组成

消息中间件

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

任务执行单元
Worker是Celery提供的任务执行的单元,worker并发的运行在分布式的系统节点中。

任务结果存储
Task result store用来存储Worker执行的任务的结果,Celery支持以不同方式存储任务的结果,包括AMQP, redis等

Celery的优点

1、简单:一单熟悉了celery的工作流程后,配置和使用还是比较简单的

2、高可用:当任务执行失败或执行过程中发生连接中断,celery 会自动尝试重新执行任务

3、快速:一个单进程的celery每分钟可处理上百万个任务

4、灵活: 几乎celery的各个组件都可以被扩展及自定制

版本支持情况

Celery version 4.0 runs onPython ❨2.7, 3.4, 3.5❩PyPy ❨5.4, 5.5❩This is the last version to support Python 2.7, and from the next version (Celery 5.x) Python 3.5 or newer is required.If you’re running an older version of Python, you need to be running an older version of Celery:Python 2.6: Celery series 3.1 or earlier.Python 2.5: Celery series 3.0 or earlier.Python 2.4 was Celery series 2.2 or earlier.Celery is a project with minimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform.

使用场景

  • 异步任务:将耗时操作任务提交给Celery去异步执行,比如发送短信/邮件、消息推送、音视频处理等等

  • 定时任务:定时执行某件事情,比如每天数据统计

Celery基本介绍相关推荐

  1. django中使用celery简单介绍

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 本章节我们重点在于实现,如何存储任务的结果. 我们将任务函数改为: from celery_demo.celery im ...

  2. celery java_Celery详解

    Celery详解 1.背景 由于从事区块链钱包相关开发,对于区块链链上资源需要频繁的进行检查同步,在flask项目中,对于celery这个异步任务执行工具,使用的频率算是相当的高,今天,我就来简单总结 ...

  3. 浅谈 Celery 分布式队列

    Q1: Django开发Web项目时遇到一个问题,如何解决大量用户在同一时间注册,短信发送延迟的问题? A1: ① 封装一个发送短信的函数 ② 创建进程.线程.协程调用发送短信的函数 Q2: 创建的进 ...

  4. celery mysql 异步_celery配合rabbitmq任务队列实现任务的异步调度执行[celery redis]

    前言: 51cto的文章已经不再补充更新了,另外celery rabbitmq详细的使用方法请到这里浏览. http://xiaorui.cc/2014/11/16/celery-rabbitmq%E ...

  5. Celery介绍和使用

    目录 1.为什么使用Celery? 2. Celery介绍 3. 创建Celery实例并加载配置 4. 定义发送短信任务 5.启动Celery服务 6. 调用发送短信任务 1.为什么使用Celery? ...

  6. celery 可视化_Django中Celery的实现介绍(一)

    Django中Celery的实现 Celery介绍 Celery是基于Python开发的一个分布式任务队列框架,支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度. 上图展示的是Celery ...

  7. python 分布式框架_Python 并行分布式框架:Celery 超详细介绍

    本博客摘自:http://blog.csdn.net/liuxiaochen123/article/details/47981111 先来一张图,这是在网上最多的一张Celery的图了,确实描述的非常 ...

  8. Celery介绍——手机短信异步发送

    1.Celery介绍 1.1 celery应⽤举例 Celery 是⼀个 基于python开发的 分布式异步消息任务队列 ,通过它可以轻松的实现任务的异步处 理,如果你的业务场景中需要⽤到异步任务,就 ...

  9. Celery介绍--手机短信异步发送

    1.Celery介绍 1.1 celery应⽤举例 Celery 是⼀个 基于python开发的 分布式异步消息任务队列 ,通过它可以轻松的实现任务的异步处 理,如果你的业务场景中需要⽤到异步任务,就 ...

最新文章

  1. 服务中没有listen_Go语言微服务框架实战:2.Go语言实现RPC编程绍
  2. win11+AMD的cpu+3060GPU电脑安装 tensorflow-GPU+cuda11+cudnn
  3. VMware Workstation Pro通过ISO系统镜像安装ubuntu-18.04.2
  4. linux memcached 运行,linux下查看Memcached运行状态
  5. 软件自动更新解决方案及QT实现
  6. 新手安装Ubuntu操作系统
  7. 界面控件包Essential Studio for Windows Forms 2017 v3发布丨附下载
  8. Linux yum安装
  9. 关于JavaScript的43道题①
  10. cxf打印报文日志_使用线程池实现异步打日志和存库的任务调度
  11. webrtc学习———记录三:mediaStreamTrack
  12. POJ 1088 滑雪 记忆化搜索
  13. django crontab UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfe in position 9: invalid start
  14. Android P 隐藏状态栏电池图标
  15. 正则验证车牌号(含新能源)
  16. 常微分方程各种类型方程表格汇总
  17. 【SEED Labs 2.0】TCP Attacks Lab
  18. js vue+elementui 全屏跟退出全屏功能搬砖
  19. 基于蓝牙模块ROK101 007/1的小区监控系统设计
  20. 《RabbitMQ实战指南》读书笔记

热门文章

  1. 第001期:数据中心知识问答
  2. python collection counter_python collection模块中几种数据结构(Counter、OrderedDict、namedtup)详解...
  3. python numpy库安装winerror5_(转载)Numpy安装中遇到的问题和解决方法
  4. 编程笔试(解析及代码实现):从矩阵中寻找和最大的子矩阵(首先需要将一个列表转为一个方矩阵)
  5. BigData之Hive:Hive数据管理的简介、下载、案例应用之详细攻略
  6. Py之cx_Freeze:Python库之cx_Freeze库(程序打包)简介、安装、使用方法详细攻略—案例之实现机器人在线24小时智能翻译
  7. 蓝桥杯_算法训练_字串统计
  8. 密码检验规则(字母数字和特殊字符组成的混合体)
  9. 从零开始的自学之路——css选择器
  10. [Python]小甲鱼Python视频第002课(第一个游戏)课后题及参考解答