Celery (software)
Distributed task queue From Wikipedia, the free encyclopedia
Celery is an open source asynchronous task queue or job queue which is based on distributed message passing. While it supports scheduling, its focus is on operations in real time.[1]
![]() | This article only references primary sources. (July 2024) |
![]() | |
Original author(s) | Ask Solem Hoel |
---|---|
Stable release | 5.4.0
/ April 18, 2024 |
Repository | |
Written in | Python |
Platform | Cross-platform |
Available in | Python |
Type | Message-oriented middleware |
License | BSD License |
Website | docs |
Overview
The execution units, called tasks, are executed concurrently on one or more worker nodes using multiprocessing, eventlet[2] or gevent.[3] Tasks can execute asynchronously (in the background) or synchronously (wait until ready). Celery is used in production systems, for services such as Instagram, to process millions of tasks every day.[1]
Technology
Celery is written in Python, but the protocol can be implemented in any language. It can also operate with other languages using webhooks.[4] There is also a Ruby-Client called RCelery,[5] a PHP client,[6] a Go client,[7] a Rust client,[8] and a Node.js client.[9]
Celery requires a message broker to run. As of October 2024, Redis and RabbitMQ are supported and actively maintained and monitored. Amazon SQS is supported and maintained but does not support worker inspection and management at runtime, while Zookeeper and Kafka are currently in experimental development.[10]
See also
References
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.