73 lines
2.3 KiB
ReStructuredText
73 lines
2.3 KiB
ReStructuredText
|
|
.. _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
|