Browse Source

Docs improvements

Ask Solem 12 năm trước cách đây
mục cha
commit
8013b8a22e

+ 4 - 3
docs/getting-started/introduction.rst

@@ -50,7 +50,7 @@ What do I need?
 
 
 *Celery* requires a message broker to send and receive messages.
 *Celery* requires a message broker to send and receive messages.
 The RabbitMQ, Redis and MongoDB broker transports are feature complete,
 The RabbitMQ, Redis and MongoDB broker transports are feature complete,
-but there is also support for a myriad of other solutions, including
+but there's also support for a myriad of other solutions, including
 using SQLite for local development.
 using SQLite for local development.
 
 
 *Celery* can run on a single machine, on multiple machines, or even
 *Celery* can run on a single machine, on multiple machines, or even
@@ -69,7 +69,7 @@ getting started tutorials:
 Celery is…
 Celery is…
 ==========
 ==========
 
 
-.. topic:: 
+.. topic:: \ 
 
 
     - **Simple**
     - **Simple**
 
 
@@ -142,7 +142,6 @@ Celery is…
             - *zlib*, *bzip2* compression.
             - *zlib*, *bzip2* compression.
             - Cryptographic message signing.
             - Cryptographic message signing.
 
 
-
 Features
 Features
 ========
 ========
 
 
@@ -313,3 +312,5 @@ Quickjump
         - :ref:`Signals <signals>`
         - :ref:`Signals <signals>`
         - :ref:`FAQ <faq>`
         - :ref:`FAQ <faq>`
         - :ref:`API Reference <apiref>`
         - :ref:`API Reference <apiref>`
+
+.. include:: ../includes/installation.txt

+ 40 - 2
docs/getting-started/next-steps.rst

@@ -366,11 +366,49 @@ The Primitives
 The primitives are also subtasks themselves, so that they can be combined
 The primitives are also subtasks themselves, so that they can be combined
 in any number of ways to compose complex workflows.
 in any number of ways to compose complex workflows.
 
 
-Here's some examples::
-
 Be sure to read more about workflows in the :ref:`Canvas <guide-canvas>` user
 Be sure to read more about workflows in the :ref:`Canvas <guide-canvas>` user
 guide.
 guide.
 
 
 
 
+Routing
+=======
+
+Celery supports all of the routing facilities provided by AMQP,
+but it also supports simple routing where messages are sent to named queues.
+
+The :setting:`CELERY_ROUTES` setting enables you to route tasks by name
+and keep everything centralized in one location::
+
+    celery.conf.update(
+        CELERY_ROUTES = {
+            'proj.tasks.add': {'queue': 'hipri'},
+        },
+    )
+
+You can also specify the queue at runtime
+with the ``queue`` argument to ``apply_async``::
+
+    >>> from proj.tasks import add
+    >>> add.apply_async((2, 2), queue='hipri')
+
+You can then make a worker consume from this queue by
+specifying the :option:`-Q` option::
+
+    $ celery -A proj worker -Q hipri
+
+You may specify multiple queues by using a comma separated list,
+for example you can make the worker consume from both the default
+queue, and the ``hipri`` queue, where
+the default queue is named ``celery`` for historical reasons::
+
+    $ celery -A proj worker -Q hipri,celery
+
+The order of the queues doesn't matter as the worker will
+give equal weight to the queues.
+
+To learn more about routing, including taking use of the full
+power of AMQP routing, see the :ref:`Routing Guide <guide-routing>`.
+
+
 
 
 **This document is incomplete - and ends here :(**
 **This document is incomplete - and ends here :(**

+ 60 - 5
docs/includes/installation.txt

@@ -1,18 +1,56 @@
+.. _celery-installation:
+
+Installation
+============
+
 You can install Celery either via the Python Package Index (PyPI)
 You can install Celery either via the Python Package Index (PyPI)
 or from source.
 or from source.
 
 
 To install using `pip`,::
 To install using `pip`,::
 
 
-    $ pip install Celery
+    $ pip install -U Celery
 
 
 To install using `easy_install`,::
 To install using `easy_install`,::
 
 
-    $ easy_install Celery
+    $ easy_install -U Celery
+
+.. _bundles:
+
+Bundles
+-------
+
+Celery also defines a group of bundles that can be used
+to install Celery and the dependencies for a given feature.
+
+The following bundles are available:
+
+:`celery-with-redis`_:
+    for using Redis as a broker.
+
+:`celery-with-mongodb`_:
+    for using MongoDB as a broker.
+
+:`django-celery-with-redis`_:
+    for Django, and using Redis as a broker.
+
+:`django-celery-with-mongodb`_:
+    for Django, and using MongoDB as a broker.
+
+.. _`celery-with-redis`:
+    http://pypi.python.org/pypi/celery-with-redis/
+.. _`celery-with-mongodb`:
+    http://pypi.python.org/pypi/celery-with-mongdb/
+.. _`django-celery-with-redis`:
+    http://pypi.python.org/pypi/django-celery-with-redis/
+.. _`django-celery-with-mongodb`:
+    http://pypi.python.org/pypi/django-celery-with-mongdb/
+
+.. _celery-installing-from-source:
 
 
 Downloading and installing from source
 Downloading and installing from source
 --------------------------------------
 --------------------------------------
 
 
-Download the latest version of `celery` from
+Download the latest version of Celery from
 http://pypi.python.org/pypi/celery/
 http://pypi.python.org/pypi/celery/
 
 
 You can install it by doing the following,::
 You can install it by doing the following,::
@@ -20,11 +58,28 @@ You can install it by doing the following,::
     $ tar xvfz celery-0.0.0.tar.gz
     $ tar xvfz celery-0.0.0.tar.gz
     $ cd celery-0.0.0
     $ cd celery-0.0.0
     $ python setup.py build
     $ python setup.py build
-    # python setup.py install # as root
+    # python setup.py install
+
+The last command must be executed as a privileged user if
+you are not currently using a virtualenv.
+
+.. _celery-installing-from-git:
 
 
 Using the development version
 Using the development version
-------------------------------
+-----------------------------
 
 
 You can clone the repository by doing the following::
 You can clone the repository by doing the following::
 
 
     $ git clone https://github.com/celery/celery
     $ git clone https://github.com/celery/celery
+    $ cd celery
+    $ python setup.py develop
+
+The development version will usually also depend on the development
+version of `kombu`_, the messaging framework Celery uses
+to send and receive messages, so you should also install that from git::
+
+    $ git clone https://github.com/celery/kombu
+    $ cd kombu
+    $ python setup.py develop
+
+.. _`kombu`: http://kombu.readthedocs.org/en/latest/

+ 13 - 91
docs/includes/introduction.txt

@@ -104,24 +104,29 @@ and the progress of the task can be tracked (called the task's *state*).
 Example
 Example
 =======
 =======
 
 
-You probably want to see some code by now, so here's an example task
-which adds two numbers:
+You probably want to see some code by now, this is the simplest
+Celery application you can make, you can put it in a module
+named ``tasks.py``:
 
 
 .. code-block:: python
 .. code-block:: python
 
 
-    from celery import task
+    from celery import Celery
 
 
-    @task()
+    celery = Celery(broker='amqp://guest@localhost://')
+
+    @celery.task()
     def add(x, y):
     def add(x, y):
         return x + y
         return x + y
 
 
 You can execute the task in the background, or wait for it to finish::
 You can execute the task in the background, or wait for it to finish::
 
 
     >>> result = add.delay(4, 4)
     >>> result = add.delay(4, 4)
-    >>> result.wait() # wait for and return the result
+    >>> result.get(timeout=1)  # wait for and return the result
     8
     8
 
 
-Simple!
+But before the task can execute you need to start a worker::
+
+    $ celery --app=tasks worker -l info
 
 
 .. _celery-features:
 .. _celery-features:
 
 
@@ -227,89 +232,6 @@ Documentation
 =============
 =============
 
 
 The `latest documentation`_ with user guides, tutorials and API reference
 The `latest documentation`_ with user guides, tutorials and API reference
-is hosted at Github.
-
-.. _`latest documentation`: http://celery.github.com/celery/
-
-.. _celery-installation:
-
-Installation
-============
-
-You can install Celery either via the Python Package Index (PyPI)
-or from source.
-
-To install using `pip`,::
-
-    $ pip install -U Celery
-
-To install using `easy_install`,::
-
-    $ easy_install -U Celery
-
-.. _bundles:
-
-Bundles
--------
-
-Celery also defines a group of bundles that can be used
-to install Celery and the dependencies for a given feature.
-
-The following bundles are available:
-
-:`celery-with-redis`_:
-    for using Redis as a broker.
-
-:`celery-with-mongodb`_:
-    for using MongoDB as a broker.
-
-:`django-celery-with-redis`_:
-    for Django, and using Redis as a broker.
-
-:`django-celery-with-mongodb`_:
-    for Django, and using MongoDB as a broker.
-
-.. _`celery-with-redis`:
-    http://pypi.python.org/pypi/celery-with-redis/
-.. _`celery-with-mongodb`:
-    http://pypi.python.org/pypi/celery-with-mongdb/
-.. _`django-celery-with-redis`:
-    http://pypi.python.org/pypi/django-celery-with-redis/
-.. _`django-celery-with-mongodb`:
-    http://pypi.python.org/pypi/django-celery-with-mongdb/
-
-.. _celery-installing-from-source:
-
-Downloading and installing from source
---------------------------------------
-
-Download the latest version of Celery from
-http://pypi.python.org/pypi/celery/
-
-You can install it by doing the following,::
-
-    $ tar xvfz celery-0.0.0.tar.gz
-    $ cd celery-0.0.0
-    $ python setup.py build
-    # python setup.py install # as root
-
-.. _celery-installing-from-git:
-
-Using the development version
------------------------------
-
-You can clone the repository by doing the following::
-
-    $ git clone https://github.com/celery/celery
-    $ cd celery
-    $ python setup.py develop
-
-The development version will usually also depend on the development
-version of `kombu`_, the messaging framework Celery uses
-to send and receive messages, so you should also install that from git::
-
-    $ git clone https://github.com/celery/kombu
-    $ cd kombu
-    $ python setup.py develop
+is hosted at Read The Docs.
 
 
-.. _`kombu`: http://kombu.readthedocs.org/en/latest/
+.. _`latest documentation`: http://docs.celeryproject.org/en/latest/

+ 2 - 0
docs/templates/readme.txt

@@ -6,4 +6,6 @@
 
 
 .. include:: ../includes/introduction.txt
 .. include:: ../includes/introduction.txt
 
 
+.. include:: ../includes/installation.txt
+
 .. include:: ../includes/resources.txt
 .. include:: ../includes/resources.txt