|
@@ -14,19 +14,19 @@ What is a Task Queue?
|
|
|
Task queues are used as a mechanism to distribute work across threads or
|
|
|
machines.
|
|
|
|
|
|
-A task queue's input is a unit of work, called a task, dedicated worker
|
|
|
-processes then constantly monitor the queue for new work to perform.
|
|
|
+A task queue's input is a unit of work called a task. Dedicated worker
|
|
|
+processes constantly monitor task queues for new work to perform.
|
|
|
|
|
|
Celery communicates via messages, usually using a broker
|
|
|
-to mediate between clients and workers. To initiate a task a client puts a
|
|
|
-message on the queue, the broker then delivers the message to a worker.
|
|
|
+to mediate between clients and workers. To initiate a task, a client adds a
|
|
|
+message to the queue, which the broker then delivers to a worker.
|
|
|
|
|
|
A Celery system can consist of multiple workers and brokers, giving way
|
|
|
to high availability and horizontal scaling.
|
|
|
|
|
|
Celery is written in Python, but the protocol can be implemented in any
|
|
|
language. So far there's RCelery_ for the Ruby programming language,
|
|
|
-node-celery_ for Node.js and a `PHP client`_, but language interoperability can also be achieved
|
|
|
+node-celery_ for Node.js and a `PHP client`_. Language interoperability can also be achieved
|
|
|
by :ref:`using webhooks <guide-webhooks>`.
|
|
|
|
|
|
.. _RCelery: http://leapfrogdevelopment.github.com/rcelery/
|