python celery使用总结

本文总结了Python的Celery框架的使用,包括其作为MQ、RPC和Task Queue的角色,Celery的4个核心角色(Web、Broker、Result Backend、Worker),以及其高级用法如group、chord、map等。同时,文章提出了关于Celery分布式特性的疑问,探讨了如何在远程系统上配置和运行Celery Worker。
摘要由CSDN通过智能技术生成

celery project

celery overview archtecture and how it works

celery doc

celery userguide

MQ?RPC?Task Queue?

任务队列是逻辑模型, 解决多个tasks如何更好的执行, 可以基于MQ实现

RPC 实现了远程任务的框架,同样可以基于MQ实现

MQ 是异构系统间最好的通信模型,封装了通信,消息存储,中转等

Celery

Celery是python实现的优秀的异步任务队列框架.

如何优秀?考虑更全面,更稳健,更好用,随便举几个问题:

异步任务无回复怎么办?

可以监控异步任务吗?进度管理?

不想基于Rabbitmq实现,怎么办?

分布式异步任务可以吗?

精确的定时任务调度,星期几,week, year?

任务执行流(task chain)?

任务资源泄露怎么处理?

Celery基于queue实现Broker,支持Rabbitmq,Redis等

Screenshot from 2018-11-08 15-19-48-d69ec84c-e076-4c5d-9f0e-2d2f901201fb

Broker简单理解就是MQ里的queue,对象被序列化后,就是存在Broker里, 反序列化后,再给真正执行任务的Worker.

python序列化工具: Pickle,Msgpack,Protobuf,JSON,yaml等…

复杂object,不要serialized!可以存数据库,在Worker的remote call里id检索

4个角色

Web, Broker,Result Backend, Worker

Screenshot from 2018-11-08 15-29-05-0c42a358-9014-493f-866c-e8bfc3ad05eb

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值