##// 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
/ docs / install / install-celery.rst
project: added all source files and assets
r1
.. _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/