celery source code analysis NO1

2015-12-20 刘太华 更多博文 » 博客 » GitHub »

celery python

原文链接 https://liutaihua.github.io/2015/12/20/celery-source-code-analysis-NO1.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


celery source code analysis

最近用celery做了分布式消息队列服务(我们取名hera), 同时稍微改了一些strategy, celery的一些retry的逻辑, 增加了pause功能,并且为项目封装了一个简单的go-celery, 现在它支持:

  1. 自定义strategy, 用于对消息收到后,Request封装前的一些逻辑;
  2. 更实效的支持revoke的expire和active times;
  3. 重载Task的on_failure, on_success等事件回调方法;
  4. 新增backend支持:redis-sentinel
  5. 新增pause功能(这个暂还不支持针对running状态的task做pause);
  6. 支持etcd配置管理和服务发现;
  7. 封装部分任务方法, 以支持golang的任务调用;

celery代码的结构很不错, 等全部整理好, 自己将整理下写出来。