| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 | :Version: 3.1.7 (Cipater):Web: http://celeryproject.org/:Download: http://pypi.python.org/pypi/celery/:Source: http://github.com/celery/celery/:Keywords: task queue, job queue, asynchronous, async, rabbitmq, amqp, redis,  python, webhooks, queue, distributed--What is a Task Queue?=====================Task queues are used as a mechanism to distribute work across threads ormachines.A task queue's input is a unit of work, called a task, dedicated workerprocesses then constantly monitor the queue for new work to perform.Celery communicates via messages, usually using a brokerto mediate between clients and workers.  To initiate a task a client puts amessage on the queue, the broker then delivers the message to a worker.A Celery system can consist of multiple workers and brokers, giving wayto high availability and horizontal scaling.Celery is a library written in Python, but the protocol can be implemented inany language.  So far there's RCelery_ for the Ruby programming language, and a`PHP client`, but language interoperability can also be achievedby using webhooks... _RCelery: http://leapfrogdevelopment.github.com/rcelery/.. _`PHP client`: https://github.com/gjedeer/celery-php.. _`using webhooks`:    http://docs.celeryproject.org/en/latest/userguide/remote-tasks.htmlWhat do I need?===============Celery version 3.0 runs on,- Python (2.5, 2.6, 2.7, 3.2, 3.3)- PyPy (1.8, 1.9)- Jython (2.5, 2.7).This is the last version to support Python 2.5,and from Celery 3.1, Python 2.6 or later is required.The last version to support Python 2.4 was Celery series 2.2.*Celery* is usually used with a message broker to send and receive messages.The RabbitMQ, Redis transports are feature complete,but there's also experimental support for a myriad of other solutions, includingusing SQLite for local development.*Celery* can run on a single machine, on multiple machines, or evenacross datacenters.Get Started===========If this is the first time you're trying to use Celery, or you arenew to Celery 3.0 coming from previous versions then you should read ourgetting started tutorials:- `First steps with Celery`_    Tutorial teaching you the bare minimum needed to get started with Celery.- `Next steps`_    A more complete overview, showing more features... _`First steps with Celery`:    http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html.. _`Next steps`:    http://docs.celeryproject.org/en/latest/getting-started/next-steps.htmlCelery is…==========- **Simple**    Celery is easy to use and maintain, and does *not need configuration files*.    It has an active, friendly community you can talk to for support,    including a `mailing-list`_ and and an IRC channel.    Here's one of the simplest applications you can make::        from celery import Celery        app = Celery('hello', broker='amqp://guest@localhost//')        @app.task        def hello():            return 'hello world'- **Highly Available**    Workers and clients will automatically retry in the event    of connection loss or failure, and some brokers support    HA in way of *Master/Master* or *Master/Slave* replication.- **Fast**    A single Celery process can process millions of tasks a minute,    with sub-millisecond round-trip latency (using RabbitMQ,    py-librabbitmq, and optimized settings).- **Flexible**    Almost every part of *Celery* can be extended or used on its own,    Custom pool implementations, serializers, compression schemes, logging,    schedulers, consumers, producers, autoscalers, broker transports and much more.It supports…============    - **Message Transports**        - RabbitMQ_, Redis_,        - MongoDB_ (experimental), Amazon SQS (experimental),        - CouchDB_ (experimental), SQLAlchemy_ (experimental),        - Django ORM (experimental), `IronMQ`_        - and more…    - **Concurrency**        - Prefork, Eventlet_, gevent_, threads/single threaded    - **Result Stores**        - AMQP, Redis        - memcached, MongoDB        - SQLAlchemy, Django ORM        - Apache Cassandra, IronCache    - **Serialization**        - *pickle*, *json*, *yaml*, *msgpack*.        - *zlib*, *bzip2* compression.        - Cryptographic message signing... _`Eventlet`: http://eventlet.net/.. _`gevent`: http://gevent.org/.. _RabbitMQ: http://rabbitmq.com.. _Redis: http://redis.io.. _MongoDB: http://mongodb.org.. _Beanstalk: http://kr.github.com/beanstalkd.. _CouchDB: http://couchdb.apache.org.. _SQLAlchemy: http://sqlalchemy.org.. _`IronMQ`: http://iron.ioFramework Integration=====================Celery is easy to integrate with web frameworks, some of which even haveintegration packages:    +--------------------+------------------------+    | `Django`_          | not needed             |    +--------------------+------------------------+    | `Pyramid`_         | `pyramid_celery`_      |    +--------------------+------------------------+    | `Pylons`_          | `celery-pylons`_       |    +--------------------+------------------------+    | `Flask`_           | not needed             |    +--------------------+------------------------+    | `web2py`_          | `web2py-celery`_       |    +--------------------+------------------------+    | `Tornado`_         | `tornado-celery`_      |    +--------------------+------------------------+The integration packages are not strictly necessary, but they can makedevelopment easier, and sometimes they add important hooks like closingdatabase connections at ``fork``... _`Django`: http://djangoproject.com/.. _`Pylons`: http://pylonshq.com/.. _`Flask`: http://flask.pocoo.org/.. _`web2py`: http://web2py.com/.. _`Bottle`: http://bottlepy.org/.. _`Pyramid`: http://docs.pylonsproject.org/en/latest/docs/pyramid.html.. _`pyramid_celery`: http://pypi.python.org/pypi/pyramid_celery/.. _`django-celery`: http://pypi.python.org/pypi/django-celery.. _`celery-pylons`: http://pypi.python.org/pypi/celery-pylons.. _`web2py-celery`: http://code.google.com/p/web2py-celery/.. _`Tornado`: http://www.tornadoweb.org/.. _`tornado-celery`: http://github.com/mher/tornado-celery/.. _celery-documentation:Documentation=============The `latest documentation`_ with user guides, tutorials and API referenceis hosted at Read The Docs... _`latest documentation`: http://docs.celeryproject.org/en/latest/
 |