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: BSD 3-clause "New" or "Revised" License
Tags: Queuing     Distributed Task Queue     Queue     Distributed Tasks    

Celery alternatives and related tools

Based on the "Queuing" category

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

Add another 'Queuing' Tool

Celery Recommendations

There are no recommendations yet. Be the first to promote Celery!

Have you used Celery? Share your experience. Write a short recommendation and Celery, you and your project will be promoted on Awesome SysAdmin.
Recommend Celery

Recently added Celery resources

Do you know of a useful tutorial, book or news relevant to Celery?
Be the first to add one!