docs: updated enable celery documentation

This commit is contained in:
Marcin Kuzminski 2017-08-14 17:32:13 +02:00
parent 281b30f2c8
commit a02eb262c4
3 changed files with 74 additions and 72 deletions

View file

@ -0,0 +1,73 @@
.. _config-celery:
Configure Celery
----------------
To improve |RCM| performance you should configure and enabled Celery_ as it makes
asynchronous tasks work efficiently. Most important it allows sending notification
emails, create repository forks, and import repositories in async way.
If you decide to use Celery you also need a working message queue.
The recommended message broker is rabbitmq_.
In order to have install and configure Celery, follow these steps:
1. Install RabbitMQ, see the documentation on the Celery website for
`rabbitmq installation`_.
2. Configure Celery in the
:file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file.
Set the following minimal settings, that are set during
rabbitmq_ installation::
broker.host =
broker.vhost =
broker.user =
broker.password =
Full configuration example is below:
.. code-block:: ini
# Set this section of the ini file to match your Celery installation
####################################
### CELERY CONFIG ####
####################################
## Set to true
use_celery = true
broker.host = localhost
broker.vhost = rabbitmqvhost
broker.port = 5672
broker.user = rabbitmq
broker.password = secret
celery.imports = rhodecode.lib.celerylib.tasks
celery.result.backend = amqp
celery.result.dburi = amqp://
celery.result.serialier = json
#celery.send.task.error.emails = true
#celery.amqp.task.result.expires = 18000
celeryd.concurrency = 2
#celeryd.log.file = celeryd.log
celeryd.log.level = debug
celeryd.max.tasks.per.child = 1
## tasks will never be sent to the queue, but executed locally instead.
celery.always.eager = false
3. Enable celery, and install `celeryd` process script using the `enable-module`::
rccontrol enable-module celery {instance-id}
.. _python: http://www.python.org/
.. _mercurial: http://mercurial.selenic.com/
.. _celery: http://celeryproject.org/
.. _rabbitmq: http://www.rabbitmq.com/
.. _rabbitmq installation: http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html
.. _Celery installation: http://docs.celeryproject.org/en/latest/getting-started/introduction.html#bundles

View file

@ -1,71 +0,0 @@
.. _config-celery:
Install Celery
--------------
To improve |RCM| performance you should install Celery_ as it makes
asynchronous tasks work efficiently. If you
install Celery you also need multi-broker support. The recommended message
broker is rabbitmq_. |RCM| works in sync
mode, but running Celery_ will give you a large speed improvement when
managing many big repositories.
If you want to run |RCM| with Celery you need to run ``celeryd`` using the
``paster`` command and the message broker.
The ``paster`` command is already installed during |RCM| installation.
To install and configure Celery, use the following steps:
1. Install Celery and RabbitMQ, see the documentation on the Celery website for
`Celery installation`_ and `rabbitmq installation`_.
2. Enable Celery in the
:file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file.
3. Run the Celery daemon with the ``paster`` command,
using the following example
``.rccontrol/enterprise-1/profile/bin/paster celeryd .rccontrol/enterprise-1/rhodecode.ini``
.. code-block:: ini
# Set this section of the ini file to match your Celery installation
####################################
### CELERY CONFIG ####
####################################
## Set to true
use_celery = false
broker.host = localhost
broker.vhost = rabbitmqhost
broker.port = 5672
broker.user = rabbitmq
broker.password = qweqwe
celery.imports = rhodecode.lib.celerylib.tasks
celery.result.backend = amqp
celery.result.dburi = amqp://
celery.result.serialier = json
#celery.send.task.error.emails = true
#celery.amqp.task.result.expires = 18000
celeryd.concurrency = 2
#celeryd.log.file = celeryd.log
celeryd.log.level = debug
celeryd.max.tasks.per.child = 1
## tasks will never be sent to the queue, but executed locally instead.
celery.always.eager = false
.. code-block:: bash
# Once the above is configured and saved
# Run celery with the paster command and specify the ini file
.rccontrol/enterprise-1/profile/bin/paster celeryd .rccontrol/enterprise-1/rhodecode.ini
.. _python: http://www.python.org/
.. _mercurial: http://mercurial.selenic.com/
.. _celery: http://celeryproject.org/
.. _rabbitmq: http://www.rabbitmq.com/
.. _rabbitmq installation: http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html
.. _Celery installation: http://docs.celeryproject.org/en/latest/getting-started/introduction.html#bundles
.. _virtualenv: http://docs.python-guide.org/en/latest/dev/virtualenvs/

View file

@ -10,5 +10,5 @@ the information in these sections to configure your instance of |RCM|.
setup-email
database-string
install-celery
configure-celery
migrate-repos