python消息队列celery高可用_celery 使用

本文介绍了Celery作为一个分布式任务队列的特性,包括其高可用性、灵活性和与多种消息队列系统的集成。Celery支持RabbitMQ和Redis等消息中间件,提供简单API创建任务,可以通过Django、SQLAlchemy等后端存储结果。同时,文章还展示了如何配置和启动Celery应用,以及如何调用和获取任务结果。
摘要由CSDN通过智能技术生成

celery是一个简单的、灵活的、可靠的分布式系统,提供了工具来维护这样一个系统,用于处理大量的信息(实时信息、定时任务安排),是一个任务队列,易于使用,易于和其他语言进行配合。

任务队列

任务队列是一种把任务通过线程或机器进行分发的机制,输入是一个工作单元--任务,工作进程则不断地检查任务队列来执行新任务。celery使用消息来通信,流程为:客户端添加消息到队列来初始化一个任务,然后消息队列系统把消息分发给工作进程。celery可以包含多个工作进程和消息系统,来保证高可用性和进行水平扩展。

特性

简单,不需要配置文件,高可靠性(工作进程和客户端在连接丢失或失败时会自动重试,一些支持HA的消息系统可以做主主、主从扩展),快速(每分钟处理几百万任务,通过使用RabbitMQ librabbitmq 和 一些优化设置),它的每一部分都可以灵活地扩展(自定义的pool,序列化方式,压缩,日志,周期任务,消费者,生产者),支持的消息队列系统(redis rabbitmq),支持的结果存储(django sqlalchemy redis amqp),并发支持(多进程,eventlet gevent,单线程),序列化方式(json pickle yaml msgpack)。

自带的监控功能,工作流,资源泄露预防,处理速率、运行时间控制

消息队列

rabbitmq 功能完整、稳定、耐用、易安装,作为生产环境很合适。

redis 也是功能完整的,但是丢失数据的可能性较高,如被停止或停电。</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值