Show More
The requested changes are too big and content was truncated. Show full diff
@@ -0,0 +1,54 b'' | |||||
|
1 | |RCE| 4.11.1 |RNS| | |||
|
2 | ------------------ | |||
|
3 | ||||
|
4 | Release Date | |||
|
5 | ^^^^^^^^^^^^ | |||
|
6 | ||||
|
7 | - 2018-02-02 | |||
|
8 | ||||
|
9 | ||||
|
10 | New Features | |||
|
11 | ^^^^^^^^^^^^ | |||
|
12 | ||||
|
13 | ||||
|
14 | ||||
|
15 | General | |||
|
16 | ^^^^^^^ | |||
|
17 | ||||
|
18 | ||||
|
19 | ||||
|
20 | Security | |||
|
21 | ^^^^^^^^ | |||
|
22 | ||||
|
23 | ||||
|
24 | ||||
|
25 | Performance | |||
|
26 | ^^^^^^^^^^^ | |||
|
27 | ||||
|
28 | ||||
|
29 | ||||
|
30 | Fixes | |||
|
31 | ^^^^^ | |||
|
32 | ||||
|
33 | ||||
|
34 | - Audit logs: handle query syntax errors in whoosh query parser. Prevents 500 | |||
|
35 | errors on wrongly entered search terms in audit logs. | |||
|
36 | ||||
|
37 | - Mercurial: fix new 4.4.X code change that does strict requirement checks. Fixes | |||
|
38 | problems with Mercurial Largefiles repositories. | |||
|
39 | ||||
|
40 | - VCSServer: in case of errors in the VCSServer worker restart it gracefully. | |||
|
41 | In rare cases certain errors caused locking of workers, and | |||
|
42 | unresponsive connections. Now we restart a worker freeing up memory and | |||
|
43 | connection. | |||
|
44 | ||||
|
45 | - Git: handle flaky and slow connection issues with git. Due to the changes in | |||
|
46 | Pyramid, flaky connections started affecting git clones. | |||
|
47 | ||||
|
48 | ||||
|
49 | Upgrade notes | |||
|
50 | ^^^^^^^^^^^^^ | |||
|
51 | ||||
|
52 | - Fixed regression on git with high latency connections. | |||
|
53 | No upgrade problems should be expected, however please check GIT repos | |||
|
54 | behaviour on upgrade. |
@@ -28,3 +28,5 b' 68baee10e698da2724c6e0f698c03a6abb993bf2' | |||||
28 | 00821d3afd1dce3f4767cc353f84a17f7d5218a1 v4.10.4 |
|
28 | 00821d3afd1dce3f4767cc353f84a17f7d5218a1 v4.10.4 | |
29 | 22f6744ad8cc274311825f63f953e4dee2ea5cb9 v4.10.5 |
|
29 | 22f6744ad8cc274311825f63f953e4dee2ea5cb9 v4.10.5 | |
30 | 96eb24bea2f5f9258775245e3f09f6fa0a4dda01 v4.10.6 |
|
30 | 96eb24bea2f5f9258775245e3f09f6fa0a4dda01 v4.10.6 | |
|
31 | 3121217a812c956d7dd5a5875821bd73e8002a32 v4.11.0 | |||
|
32 | fa98b454715ac5b912f39e84af54345909a2a805 v4.11.1 |
@@ -4,27 +4,48 b'' | |||||
4 | Configure Celery |
|
4 | Configure Celery | |
5 | ---------------- |
|
5 | ---------------- | |
6 |
|
6 | |||
7 | To improve |RCM| performance you should configure and enabled Celery_ as it makes |
|
7 | Celery_ is an asynchronous task queue. It's a part of RhodeCode scheduler | |
8 | asynchronous tasks work efficiently. Most important it allows sending notification |
|
8 | functionality. Celery_ makes certain heavy tasks perform more efficiently. | |
9 | emails, create repository forks, and import repositories in async way. |
|
9 | Most important it allows sending notification emails, create repository forks, | |
|
10 | and import repositories in async way. It is also used for bi-directional | |||
|
11 | repository sync in scheduler. | |||
10 |
|
12 | |||
11 | If you decide to use Celery you also need a working message queue. |
|
13 | If you decide to use Celery you also need a working message queue. | |
12 | The recommended message broker is rabbitmq_. |
|
14 | The recommended and fully supported message broker is rabbitmq_. | |
13 |
|
15 | |||
14 |
|
16 | |||
15 |
In order to |
|
17 | In order to install and configure Celery, follow these steps: | |
16 |
|
18 | |||
17 | 1. Install RabbitMQ, see the documentation on the Celery website for |
|
19 | 1. Install RabbitMQ, see the documentation on the Celery website for | |
18 | `rabbitmq installation`_. |
|
20 | `rabbitmq installation`_, or `rabbitmq website installation`_ | |
|
21 | ||||
|
22 | ||||
|
23 | 1a. As en example configuration after installation, you can run:: | |||
|
24 | ||||
|
25 | sudo rabbitmqctl add_user rcuser secret_password | |||
|
26 | sudo rabbitmqctl add_vhost rhodevhost | |||
|
27 | sudo rabbitmqctl set_user_tags rcuser rhodecode | |||
|
28 | sudo rabbitmqctl set_permissions -p rhodevhost rcuser ".*" ".*" ".*" | |||
|
29 | ||||
19 |
|
|
30 | ||
20 | 2. Configure Celery in the |
|
31 | 2. Enable celery, and install `celery worker` process script using the `enable-module`:: | |
|
32 | ||||
|
33 | rccontrol enable-module celery {instance-id} | |||
|
34 | ||||
|
35 | .. note:: | |||
|
36 | ||||
|
37 | In case when using multiple instances in one or multiple servers it's highly | |||
|
38 | recommended that celery is running only once, for all servers connected to | |||
|
39 | the same database. Having multiple celery instances running without special | |||
|
40 | reconfiguration could cause scheduler issues. | |||
|
41 | ||||
|
42 | ||||
|
43 | 3. Configure Celery in the | |||
21 | :file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file. |
|
44 | :file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file. | |
22 | Set the following minimal settings, that are set during rabbitmq_ installation:: |
|
45 | Set the broker_url as minimal settings required to enable operation. | |
|
46 | If used our example data from pt 1a, here is how the broker url should look like:: | |||
23 |
|
47 | |||
24 | broker.host = |
|
48 | celery.broker_url = amqp://rcuser:secret_password@localhost:5672/rhodevhost | |
25 | broker.vhost = |
|
|||
26 | broker.user = |
|
|||
27 | broker.password = |
|
|||
28 |
|
49 | |||
29 | Full configuration example is below: |
|
50 | Full configuration example is below: | |
30 |
|
51 | |||
@@ -34,35 +55,15 b' 2. Configure Celery in the' | |||||
34 | #################################### |
|
55 | #################################### | |
35 | ### CELERY CONFIG #### |
|
56 | ### CELERY CONFIG #### | |
36 | #################################### |
|
57 | #################################### | |
37 | ## Set to true |
|
|||
38 | use_celery = true |
|
|||
39 | broker.host = localhost |
|
|||
40 | broker.vhost = rabbitmqvhost |
|
|||
41 | broker.port = 5672 |
|
|||
42 | broker.user = rabbitmq |
|
|||
43 | broker.password = secret |
|
|||
44 |
|
||||
45 | celery.imports = rhodecode.lib.celerylib.tasks |
|
|||
46 |
|
58 | |||
47 | celery.result.backend = amqp |
|
59 | use_celery = true | |
48 | celery.result.dburi = amqp:// |
|
60 | celery.broker_url = amqp://rcuser:secret@localhost:5672/rhodevhost | |
49 | celery.result.serialier = json |
|
|||
50 |
|
61 | |||
51 | #celery.send.task.error.emails = true |
|
62 | # maximum tasks to execute before worker restart | |
52 |
|
|
63 | celery.max_tasks_per_child = 100 | |
53 |
|
||||
54 | celeryd.concurrency = 2 |
|
|||
55 | #celeryd.log.file = celeryd.log |
|
|||
56 | celeryd.log.level = debug |
|
|||
57 | celeryd.max.tasks.per.child = 1 |
|
|||
58 |
|
64 | |||
59 | ## tasks will never be sent to the queue, but executed locally instead. |
|
65 | ## tasks will never be sent to the queue, but executed locally instead. | |
60 |
celery.always |
|
66 | celery.task_always_eager = false | |
61 |
|
||||
62 |
|
||||
63 | 3. Enable celery, and install `celeryd` process script using the `enable-module`:: |
|
|||
64 |
|
||||
65 | rccontrol enable-module celery {instance-id} |
|
|||
66 |
|
|
67 | ||
67 |
|
|
68 | ||
68 | .. _python: http://www.python.org/ |
|
69 | .. _python: http://www.python.org/ | |
@@ -70,4 +71,5 b' 3. Enable celery, and install `celeryd` ' | |||||
70 | .. _celery: http://celeryproject.org/ |
|
71 | .. _celery: http://celeryproject.org/ | |
71 | .. _rabbitmq: http://www.rabbitmq.com/ |
|
72 | .. _rabbitmq: http://www.rabbitmq.com/ | |
72 | .. _rabbitmq installation: http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html |
|
73 | .. _rabbitmq installation: http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html | |
|
74 | .. _rabbitmq website installation: http://www.rabbitmq.com/download.html | |||
73 | .. _Celery installation: http://docs.celeryproject.org/en/latest/getting-started/introduction.html#bundles |
|
75 | .. _Celery installation: http://docs.celeryproject.org/en/latest/getting-started/introduction.html#bundles |
@@ -9,6 +9,7 b' Release Notes' | |||||
9 | .. toctree:: |
|
9 | .. toctree:: | |
10 | :maxdepth: 1 |
|
10 | :maxdepth: 1 | |
11 |
|
11 | |||
|
12 | release-notes-4.11.1.rst | |||
12 | release-notes-4.11.0.rst |
|
13 | release-notes-4.11.0.rst | |
13 | release-notes-4.10.6.rst |
|
14 | release-notes-4.10.6.rst | |
14 | release-notes-4.10.5.rst |
|
15 | release-notes-4.10.5.rst |
@@ -1680,7 +1680,7 b'' | |||||
1680 | }; |
|
1680 | }; | |
1681 | }; |
|
1681 | }; | |
1682 | rhodecode-enterprise-ce = super.buildPythonPackage { |
|
1682 | rhodecode-enterprise-ce = super.buildPythonPackage { | |
1683 |
name = "rhodecode-enterprise-ce-4.11. |
|
1683 | name = "rhodecode-enterprise-ce-4.11.1"; | |
1684 | buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj]; |
|
1684 | buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj]; | |
1685 | doCheck = true; |
|
1685 | doCheck = true; | |
1686 | propagatedBuildInputs = with self; [setuptools-scm amqp authomatic Babel Beaker celery Chameleon channelstream click colander configobj cssselect decorator deform docutils dogpile.cache dogpile.core ecdsa FormEncode future futures gnureadline infrae.cache iso8601 itsdangerous Jinja2 billiard kombu lxml Mako Markdown MarkupSafe msgpack-python MySQL-python objgraph packaging Paste PasteDeploy PasteScript pathlib2 peppercorn psutil psycopg2 py-bcrypt pycrypto pycurl pyflakes pygments-markdown-lexer Pygments pyparsing pyramid-beaker pyramid-debugtoolbar pyramid-jinja2 pyramid-mako pyramid pysqlite python-dateutil python-ldap python-memcached python-pam pytz pyzmq py-gfm recaptcha-client redis repoze.lru requests Routes setproctitle simplejson six SQLAlchemy sshpubkeys subprocess32 supervisor Tempita translationstring trollius urllib3 URLObject venusian WebError WebHelpers2 WebHelpers WebOb Whoosh wsgiref zope.cachedescriptors zope.deprecation zope.event zope.interface nbconvert bleach nbformat jupyter-client alembic invoke bumpversion transifex-client gevent greenlet gunicorn waitress uWSGI ipdb ipython CProfileV bottle rhodecode-tools appenlight-client pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage]; |
|
1686 | propagatedBuildInputs = with self; [setuptools-scm amqp authomatic Babel Beaker celery Chameleon channelstream click colander configobj cssselect decorator deform docutils dogpile.cache dogpile.core ecdsa FormEncode future futures gnureadline infrae.cache iso8601 itsdangerous Jinja2 billiard kombu lxml Mako Markdown MarkupSafe msgpack-python MySQL-python objgraph packaging Paste PasteDeploy PasteScript pathlib2 peppercorn psutil psycopg2 py-bcrypt pycrypto pycurl pyflakes pygments-markdown-lexer Pygments pyparsing pyramid-beaker pyramid-debugtoolbar pyramid-jinja2 pyramid-mako pyramid pysqlite python-dateutil python-ldap python-memcached python-pam pytz pyzmq py-gfm recaptcha-client redis repoze.lru requests Routes setproctitle simplejson six SQLAlchemy sshpubkeys subprocess32 supervisor Tempita translationstring trollius urllib3 URLObject venusian WebError WebHelpers2 WebHelpers WebOb Whoosh wsgiref zope.cachedescriptors zope.deprecation zope.event zope.interface nbconvert bleach nbformat jupyter-client alembic invoke bumpversion transifex-client gevent greenlet gunicorn waitress uWSGI ipdb ipython CProfileV bottle rhodecode-tools appenlight-client pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage]; |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
General Comments 0
You need to be logged in to leave comments.
Login now