Task queues are used as a mechanism to distribute work across threads or machines.

A task queue's input is a unit of work, called a task, dedicated worker processes then constantly monitor the queue for new work to perform.

Celery communicates via messages, usually using a broker to mediate between clients and workers. To initiate a task a client puts a message on the queue, the broker then delivers the message to a worker.

A Celery system can consist of multiple workers and brokers, giving way to high availability and horizontal scaling.

Celery is written in Python, but the protocol can be implemented in any language. In addition to Python there's node-celery for Node.js, and a PHP client.

Language interoperability can also be achieved by using webhooks.

Code Quality Rank: L3
Programming language: Python
License: GNU General Public License v3.0 or later
Tags: Queuing     System     Distributed Computing     Distributed Task Queue     Queue     Distributed Tasks     Object Brokering    
Latest version: v5.1.0.b1

Celery alternatives and similar tools

Based on the "Queuing" category.
Alternatively, view celery alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Celery or a related project?

Add another 'Queuing' Tool