引入
有了Celery,我们在使用生产者消费者模式时,只需要关注任务本身,极大的简化了开发者的开发流程
介绍
一个简单、灵活且可靠、处理大量消息的分布式系统,可以在一台或者多台机器上运行
Celery是一个功能完备即插即用的任务队列
单个 Celery 进程每分钟可处理数以百万计的任务
通过消息进行通信,使用**消息队列(broker)**在客户端和消费者之间进行协调
Celery特性
Celery 需要一个发送和接受消息的传输者
Celery可以使用RabbitMQ 和 Redis 作为中间人进行消息传输。但也提供大量其他实验性方案的支持,包括用 SQLite 进行本地开发。
Celery可以单机运行,也可以在多台机器上运行,甚至可以跨越数据中心运
简单
易于使用和维护
高可用性
倘若连接丢失或失败,职程和客户端会自动重试,并且一些中间人通过 主/主 或 主/从 方式复制来提高可用性
快速
单个 Celery 进程每分钟可处理数以百万计的任务,而保持往返延迟在亚毫秒级
灵活
Celery 几乎所有部分都可以扩展或单独使用。可以自制连接池、 序列化、压缩模式、日志、调度器、消费者、生产者、自动扩展、 中间人传输或更多
名词说明
客户端:发送任务的一方
broker:消息中间件,例如RabbitMQ
worker:执行任务的一方