Celery vs ZeroMQ: What are the differences?
Developers describe Celery as "Distributed task queue". Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. On the other hand, ZeroMQ is detailed as "Fast, lightweight messaging library that allows you to design complex communication system without much effort". The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.
Celery and ZeroMQ can be categorized as "Message Queue" tools.
"Task queue" is the top reason why over 84 developers like Celery, while over 17 developers mention "Fast" as the leading cause for choosing ZeroMQ.
Celery and ZeroMQ are both open source tools. Celery with 12.9K GitHub stars and 3.33K forks on GitHub appears to be more popular than ZeroMQ with 5.33K GitHub stars and 1.57K GitHub forks.
According to the StackShare community, Celery has a broader approval, being mentioned in 272 company stacks & 77 developers stacks; compared to ZeroMQ, which is listed in 35 company stacks and 12 developer stacks.
What is Celery?
What is ZeroMQ?
Want advice about which of these to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
All of our background jobs (e.g., image resizing, file uploading, email and SMS sending) are done through Celery (using Redis as its broker). Celery's scheduling and retrying features are especially useful for error-prone tasks, such as email and SMS sending.
For orchestrating the creation of the correct number of instances, managing errors and retries, and finally managing the deallocation of resources we use RabbitMQ in conjunction with the Celery Project framework, along with a self-developed workflow engine.
We maintain a fork of Celery 3 that adds HTTPS support for Redis brokers. The Winning Model currently uses Celery 3 because Celery 4 dropped support for Windows.
We plan on migrating to Celery 4 once Azure ASE supports Linux apps
We used celery, in combination with RabbitMQ and celery-beat, to run periodic tasks, as well as some user-initiated long-running tasks on the server.
Our platform is based on interconnected services with a custom RPC protocol based on ZeroMQ and inspired by ZeroMQs LPP/MDP protocols.
Using Celery, the web service creates tasks that are executed by a background worker. Celery uses a RabbitMQ instance as a task queue.