基础知识

任务队列是一种在线程或者机器间分发任务的机制。任务队列的输入是一个工作单元,独立的工作进程(Worker)持续监视队列中是否有需要处理的新任务。

Celery使用消息进行通信,Broker(消息中间人)作为客户端与工作进程之间的桥梁,将消息从客户端派送给工作进程。Celery系统中可以包含多个工作进程和消息中间人。消息中间人通常会选择RabbitMQ消息队列或者Redis数据库来实现,这两种实现支持Celery的全部特性。

Celery系统的构建需要一个发送和接收消息的传输者,即消息中间人。Celery既可以单机运行也可以以集群方式运行,甚至可以跨数据中心运行。