Celery

Short description: Distributed task queue

Celery

Stable release|

5.3.4 / September 3, 2023; 2 years ago (2023-09-03)

Written in| Python
Platform| Cross-platform
Available in| Python
Type| Message-oriented middleware
License| BSD License
Website| docs.celeryq.dev

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]

## Contents

* 1 Overview
* 2 Technology
* 3 See also
* 4 References
* 5 External links

## 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]

The recommended message brokers are RabbitMQ or Redis. In comparison with RabbitMQ, Redis represents a good start. However, if there is a valid reason and Redis is no longer meeting the requirements for the project, it is simple to switch to RabbitMQ. Additionally, MongoDB, Amazon SQS, CouchDB, IronMQ, and databases (using SQLAlchemy or the Django ORM) are supported in status experimental.[10]

## See also

* Advanced Message Queuing Protocol

## References

1. ↑ 1.0 1.1 "Celery: Distributed Task Queue". http://www.celeryproject.org/.
2. ↑ "Eventlet Networking Library". http://eventlet.net/.
3. ↑ "What is gevent? — gevent 21.12.1.dev0 documentation". http://www.gevent.org/.
4. ↑ "HTTP Callback Tasks (Webhooks) — Celery 3.1.23 documentation". http://docs.celeryproject.org/en/latest/userguide/remote-tasks.html.
5. ↑ "leapfrogonline/rcelery". https://github.com/leapfrogonline/rcelery. [yes|permanent dead link|dead link}}]
6. ↑ "gjedeer/celery-php". https://github.com/gjedeer/celery-php/.
7. ↑ "gocelery/gocelery". https://github.com/gocelery/gocelery/.
8. ↑ rusty-celery/rusty-celery, Rusty Celery, 2022-10-09, https://github.com/rusty-celery/rusty-celery, retrieved 2022-10-09
9. ↑ "mher/node-celery". https://github.com/mher/node-celery.
10. ↑ "Backends and Brokers — Celery 5.2.7 documentation". https://docs.celeryq.dev/en/latest/getting-started/backends-and-brokers/index.html.

## External links

* on GitHub

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Celery&oldid=733911"