This document describes Celery 2.2. For development docs, go here.

Overview

../_images/celery-broker-worker-nodes.jpg

Figure 1: Worker and broker nodes.

To use Celery you need at least two main components; a message broker and a worker.

The message broker enables clients and workers to communicate through messaging. There are several broker implementations available, the most popular being RabbitMQ.

The worker processes messages, and consists of one or more physical (or virtual) nodes.

Tasks

The action to take whenever a message of a certain type is received is called a “task”.

Routing

../_images/celery-worker-bindings.jpg

Figure 2: Worker bindings.

Go to Routing Tasks.

Celery takes advantage of AMQPs flexible routing model. Tasks can be routed to specific servers, or a cluster of servers by binding workers to different queues. A single worker node can be bound to one or more queues. Multiple messaging scenarios are supported: round robin, point-to-point, broadcast (one-to-many), and more.

Celery aims to hide the complexity of AMQP through features like Automatic routing, while still preserving the ability to go low level if that should be necessary.

Previous topic

User Guide

Next topic

Tasks

This Page