Celery是Python世界中受欢迎的后台工作管理者之一。该系统简单、灵活、可靠性高、处理大量消息、集中处理实时异步任务队列和任务调度功能。
Celery是基于Python开发的分布式任务队列。通过任务队列,它可以对分布的机器/进程/线程执行任务调度。
架构设计
Celery的体系结构包括三个部分,即消息中间件(messagebroker)、任务执行单元(worker)和任务执行结果存储(taskresultstore)。
消息中间件
Celery本身并不提供消息服务,但很容易与第三方提供的消息中间件集成。
任务执行单元
Worker是Celery提供的任务执行的一个单元,工人并发运行在分布式系统节点中。
任务结果存储
Task result store用于存储由Worker执行的任务的结果,Celery支持任务以不同方式存储的结果。
此外,Celery支持多种并发性和序列化方法。
并发
Prefork,Eventlet,gevent,threads/single threaded
序列化
pickle,json,yaml,msgpack.zlib,bzip2 compression,Cryptographic message signing等等
安装与操作
Celery的安装流程有点复杂,下面的安装过程是基于我的Linux版本AWSEC2的安装过程,不同的系统安装过程可能会有所不同。请参阅文件。
为了先安装RabbitMQ,我首先选择了RabbitMQ。首先更新YUM,作为安装准备。