##// END OF EJS Templates
threading: Add factory that creates curl session for each thread....
threading: Add factory that creates curl session for each thread. When creating a repo with an import url pointing to another repo on the same enterprise instance we call the vcssserver to check the url. The vcsserver then calls to enterprise to verify the url. This leads to two threads using the same cur session.

File last commit:

r1:854a839a default
r243:dae685be default
Show More
install-celery.rst
71 lines | 2.5 KiB | text/x-rst | RstLexer

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
# 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
# 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