Celery (software)

From Wikipedia, the free encyclopedia
  (Redirected from Celery Task Queue)
Jump to: navigation, search
Celery
Stable release
3.1.23 / March 9, 2016; 6 months ago (2016-03-09)
Written in Python
Platform Cross-platform
Available in Python
Type Message-oriented middleware
License BSD License
Website celeryproject.org
Repository github.com/celery/celery

Celery is an open source asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.[1]

Overview[edit]

The execution units, called tasks, are executed concurrently on one or more worker nodes using multiprocessing, eventlet or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready). Celery is used in production systems, by the likes of Instagram and AdRoll, to process millions of tasks every day.[1]

Technology[edit]

Celery is written in Python, but the protocol can be implemented in any language. It can also operate with other languages using webhooks.[2] There is also a Ruby-Client called RCelery,[3] a PHP client,[4] and a Node.js client.[5]

The recommended message broker is RabbitMQ, or Redis. Additionally, MongoDB, Beanstalk,[i][ii] Amazon SQS, CouchDB, IronMQ and databases (using SQLAlchemy or the Django ORM) are supported in status experimental.[7]

See also[edit]

References[edit]

  1. ^ a b Celery: Distributed Task Queue
  2. ^ "HTTP Callback Tasks (Webhooks) — Celery 3.1.23 documentation". docs.celeryproject.org. Retrieved 2016-08-17. 
  3. ^ "leapfrogonline/rcelery". GitHub. Retrieved 2016-08-17. 
  4. ^ "gjedeer/celery-php". GitHub. Retrieved 2016-08-17. 
  5. ^ "mher/node-celery". GitHub. Retrieved 2016-08-17. 
  6. ^ http://docs.celeryproject.org/en/latest/getting-started/brokers/beanstalk.html
  7. ^ "Brokers — Celery 3.1.23 documentation". docs.celeryproject.org. Retrieved 2016-08-17. 
Notes
  1. ^ NB - This is not Amazon's Elastic Beanstalk
  2. ^ "currently not working well"[6]

External links[edit]