美文网首页
Celery 简介

Celery 简介

作者: xncode | 来源:发表于2017-12-04 10:50 被阅读0次

    任务队列

    任务队列是一种把任务通过线程或机器进行分发的机制,输入是一个工作单元--任务,工作进程则不断地检查任务队列来执行新任务。

    celery使用消息来通信,通常需要中间件中转。流程为:客户端添加消息到队列来初始化一个任务,然后消息队列系统把消息分发给工作进程。

    celery可以包含多个工作进程和消息队列系统,来保证高可用性和进行水平扩展。

    虽然celery是python实现的,仍可轻松实现其他语言的客户端,如php js,或可可使用webhooks来交互。

    需求

    可在单台机器、多台机器、集群中运行

    需要py2.7+ 不支持win

    需要rabbitmq或redis作为消息中间件

    特性

    简单

    不需要配置文件

    高可靠性

    工作进程和客户端在连接丢失或失败时会自动重试,一些支持HA的消息系统可以做主主、主从扩展

    快速

    每分钟处理几百万任务,通过使用RabbitMQ librabbitmq 和 一些优化设置,可使得rtt为亚毫秒级

    扩展

    它的每一部分都可以灵活地扩展(自定义的pool,序列化方式,压缩,日志,定时任务,消费者,生产者,中间件)

    支持的中间件

    redis rabbitmq

    结果存储

    redis amqp memcached orm apache-Cassandra ES

    并发方式

    fork eventlet gevent 单线程

    序列化方式

    pickle json yaml 另支持压缩 签名 加密

    监控

    定时任务

    work flow

    资源泄露保护

    执行时间限制

    自定义

    安装

    使用redis

    pip install celery[redis,auth,gevent]
    

    使用rabbitmq

    pip install celery[librabbitmq,auth,gevent]
    

    中间件

    相关文章

      网友评论

          本文标题:Celery 简介

          本文链接:https://www.haomeiwen.com/subject/xsvtixtx.html