Description
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.
Celery alternatives and similar tools
Based on the "Queuing" category.
Alternatively, view celery alternatives based on common mentions on social networks and blogs.
-
NATS
High-Performance server for NATS.io, the cloud and edge native messaging system. -
Resque
Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later. -
Chronicle Queue
Micro second messaging that stores everything to disk -
HornetQ
HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. -
Siberite
Siberite is a simple, lightweight, leveldb backed message queue written in Go. -
The Apollo Project
ActiveMQ Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ.
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Celery or a related project?