Celery 源码解析八:State 和 Result

在前面几篇解析中,我们已经看过了 Worker 是如何运行的,Task 是如何创建的,以及怎么被路由到 Worker 中,除了这些之外,我们还对流量限制,Worker 控制和 Task/Worker 产生和处理 Event 进行了介绍。但这却不是全部,今天我将继续和大家一起来看看 Celery 的 Task Result 和 State 相关的内容。

Celery 源码解析七:Worker 之间的交互

前面对于 Celery 的分布式处理已经做了一些介绍,例如第五章的 **远程控制** 和第六章的 **Event机制**,但是,我认为这些分布式都比较简单,并没有体现出多实例之间的协同作用,所以,今天就来点更加复杂的,对于多实例直接的交互更多,这就是 Gossip 和 Mingle。

Celery 源码解析六:Events 的实现

在 Celery 中,除了远程控制之外,还有一个元素可以让我们对分布式中的任务的状态有所掌控,而且从实际意义上来说,这个元素对 Celery 更为重要,这就是在本文中将要说到的 Event。

Celery 源码解析五: 远程控制管理

今天要聊的话题可能被大家关注得不多,但是却很有用,那就是 Celery 的远程控制,我们可以在任意一台机器中执行 Celery 命令,从而使所有的 Celery 实例都可以按照我们的指令响应,是不是很有趣?在单机中我们有很多 IPC 方式可以实现,那么在分布式环境下 Celery 是如何选择的,这些你都将在本文中得到解答

Celery 源码解析四: 定时任务的实现

在前面几章我们已经看过了任务对象以及任务的被动触发和执行引擎,但是,隐藏在 Celery 内部还有个主动触发的功能,这就是定时器,本文将对 Celery 的定时器机制进行详解,看完之后,你甚至可以自己编写自己的定时器

Celery 源码解析三: Task 对象的实现

前面已经给大家介绍了 Celery Worker 的整体流程和执行引擎的实现,但是,对于他们的主题 Task 却还没深入详解,本文就将补上这块遗漏,带给大家一个新的东西

速率限制的一些思考

无论是在我们日常的软件使用中还是软件开发中,我们总是会遇到速率限制的问题,那么对于这些限制速率的行为,有没有什么好一点的实践或者理论,最近我就看了一些,但是理解可能并不是很深刻,但不妨写出来和大家交流一番。

Linux 文件系统模型

在 Linux 环境下,我们会遇到很多和文件系统有关的东西,例如我们会经常看到 ext3/ext4/nfs 之类的名词,但是却不知道他们的意义,本文将从比较抽象的层面讲讲这些话题

Celery 源码解析二: Worker 的执行引擎

前面已经上了开胃菜,给大家讲解了 Celery 的组件以及这些组件的作用,那么是时候带大家更进一步得看看内部的实现了,本文将会有较多有意思的东西

merge squash 和 merge rebase 区别

在团队合作中,Git 作为一个良好的工具,它提供了很有优秀的特性,但是,却不是那么容易入手的,本文就讲述一下我最近遇到的一个 关于 merge 是 squash 还是 rebase 的问题