一.Celery 介绍

Celery 是一个强大的分布式任务队列,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行。我们通常使用它来实现异步任务( async task )和定时任务( crontab )。 异步任务比如是发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作 ,定时任务是需要在特定时间执行的任务。它的架构组成如下图:

[以上转自]作者:Shyllin 来源:CSDN 原文:https://blog.csdn.net/Shyllin/article/details/80940643?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

划重点~

(1). 任务模块:包含异步任务和定时任务。异步任务在业务逻辑中触发被发送到任务队列,定时任务由celery beat周期性的发往任务队列。

(2).celery beat:任务调度器。beat进程会读取配置文件里的内容(celerybeat_schedule里设置),周期性的将配置中到期需要执行的任务发送到任务队列。

(3).消息中间件broker:任务调度队列。接收任务生产者发来的消息任务,存储到队列中。因为celery本身并不提供队列服务,官方推荐rabbitMQ和redis,在这里我们使用redis。

(4).任务执行单元worker:实行任务的处理单元。实时监控消息队列,获取队列调度中的任务,并执行它。

(5).任务结果存储backend:用于任务执行结果的存储,同中间件一样可以用rabbitMQ和redis。

二.代码实

最新文章

  1. ABP文档 - Mvc 控制器
  2. video.js-H5视频播放库
  3. 一行css代码调试中学到的javascript知识,很有意思
  4. div+css定位position详解
  5. [GraphQL] Use Arguments in a GraphQL Query
  6. adMob iAd整合,随机根据网络状况自动显示。
  7. 浅析jQuery中常用的元素查找方法总结
  8. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理
  9. python有些错误换行问题解决
  10. 迎圣诞,拿大奖活动赛题_SQLi(sprintf格式化字符)
  11. hdu 5880 AC自动机
  12. WebService详解(二)
  13. input中只能写入数字int、float
  14. 【工具】idea工具 java代码 gbk转utf8
  15. Knut重排算法
  16. Windows10下Django虚拟环境配置和简单入门实例
  17. MySQL 实战笔记
  18. 在Oracle中执行动态SQL的几种方法
  19. day11 十一、函数对象,名称空间,作用域,和闭包
  20. Windows程序

热门文章

  1. @ControllerAdvice全局异常拦截
  2. Group共享网元
  3. h5页面长按保存图片
  4. 19异常和file部分笔记
  5. 「 Luogu P1231 」 教辅的组成
  6. Luogu P3797 妖梦斩木棒
  7. mysql数据库主从操作记录
  8. swiper.animate--css3翻页动画
  9. Scoop - 在Windows命令行上进行程序安装
  10. svn汉化包安装无效的解决办法