Celery (software)
![]() | |
Stable release | 5.1.2
/ June 28, 2021 |
---|---|
Repository | |
Written in | Python |
Platform | Cross-platform |
Available in | Python |
Type | Message-oriented middleware |
License | BSD License |
Website | celeryproject |
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]
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 instance 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] and a Node.js client.[8]
The recommended message brokers are RabbitMQ or Redis. Additionally, MongoDB, Amazon SQS, CouchDB, IronMQ, and databases (using SQLAlchemy or the Django ORM) are supported in status experimental.[9]
See also[]
References[]
- ^ a b "Celery: Distributed Task Queue". Archived from the original on 2019-06-13. Retrieved 2016-01-14.
- ^ eventlet
- ^ gevent
- ^ "HTTP Callback Tasks (Webhooks) — Celery 3.1.23 documentation". docs.celeryproject.org. Archived from the original on 2016-10-30. Retrieved 2016-08-17.
- ^ "leapfrogonline/rcelery". GitHub. Retrieved 2016-08-17.[permanent dead link]
- ^ "gjedeer/celery-php". GitHub. Retrieved 2016-08-17.
- ^ "gocelery/gocelery". GitHub. Retrieved 2018-08-06.
- ^ "mher/node-celery". GitHub. Retrieved 2016-08-17.
- ^ "Brokers — Celery 3.1.23 documentation". docs.celeryproject.org. Archived from the original on 2018-01-29. Retrieved 2016-08-17.
External links[]
- Free system software
- Free software programmed in Python
- Python (programming language) software
- Concurrent programming libraries
- Inter-process communication
- Message-oriented middleware
- Software using the BSD license
- Free software stubs