##// END OF EJS Templates
docs: updated section on performance, scaling, ssl support
docs: updated section on performance, scaling, ssl support

File last commit:

r2191:566a87e4 default
r2205:dd780472 default
Show More
configure-celery.rst
73 lines | 2.3 KiB | text/x-rst | RstLexer
/ docs / install / configure-celery.rst
docs: updated enable celery documentation
r2034
.. _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`_.
docs: update celery docs
r2191
docs: updated enable celery documentation
r2034 2. Configure Celery in the
:file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file.
docs: update celery docs
r2191 Set the following minimal settings, that are set during rabbitmq_ installation::
docs: updated enable celery documentation
r2034
broker.host =
broker.vhost =
broker.user =
broker.password =
docs: update celery docs
r2191 Full configuration example is below:
docs: updated enable celery documentation
r2034
docs: update celery docs
r2191 .. code-block:: ini
docs: updated enable celery documentation
r2034
# 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