##// END OF EJS Templates
user-groups: fix potential problem with group sync of external plugins....
user-groups: fix potential problem with group sync of external plugins. - when using external plugin we used to check for a parameter that set the sync mode. The problem is we only checked if the flag was there. So toggling sync on and off set the value and then left the key still set but with None. This confused the sync and thought the group should be synced !

File last commit:

r2034:7f42b8f2 default
r2143:4314e88b default
Show More
configure-celery.rst
73 lines | 2.3 KiB | text/x-rst | RstLexer

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:

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