Date: Sunday, May 23, 2021 @ 22:01:14 Author: demize Revision: 943521
Add support for worker processes Fixes FS#65304. Added: matrix-synapse/trunk/generic_worker.yaml.example matrix-synapse/trunk/synapse-worker@.service matrix-synapse/trunk/synapse.target Modified: matrix-synapse/trunk/PKGBUILD matrix-synapse/trunk/synapse.service -----------------------------+ PKGBUILD | 11 +++++++++-- generic_worker.yaml.example | 34 ++++++++++++++++++++++++++++++++++ synapse-worker@.service | 22 ++++++++++++++++++++++ synapse.service | 6 ++++-- synapse.target | 7 +++++++ 5 files changed, 76 insertions(+), 4 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-05-23 21:59:24 UTC (rev 943520) +++ PKGBUILD 2021-05-23 22:01:14 UTC (rev 943521) @@ -33,7 +33,10 @@ 'python-hiredis') source=("synapse-$pkgver.tar.gz::https://github.com/matrix-org/synapse/archive/v$pkgver.tar.gz" + 'generic_worker.yaml.example' 'synapse.service' + 'synapse.target' + 'synapse-worker@.service' 'sysusers-synapse.conf' 'tmpfiles-synapse.conf') @@ -40,6 +43,9 @@ sha256sums=('d74654ca8859dc4d0794dd46663d2f88d5bd36b38fd48a820e235ab50cc8a726' 'SKIP' 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' 'SKIP') backup=('etc/synapse/log_config.yaml') @@ -60,10 +66,11 @@ export PYTHONHASHSEED=0 python setup.py install --root "$pkgdir" --optimize=1 --skip-build - install -dm755 -o 198 -g 198 "$pkgdir"/etc/synapse + install -dm755 -o 198 -g 198 "$pkgdir"/etc/synapse{,workers} install -Dm644 contrib/systemd/log_config.yaml "$pkgdir"/etc/synapse/log_config.yaml + install -Dm644 "$srcdir"/generic_worker.yaml.example "$pkgdir"/etc/synapse/workers/generic_worker.yaml.example - install -Dm644 -t "$pkgdir"/usr/lib/systemd/system/ "$srcdir"/synapse.service + install -Dm644 -t "$pkgdir"/usr/lib/systemd/system/ "$srcdir"/synapse{,-worker@}.service "$srcdir"/synapse.target install -Dm644 "$srcdir"/sysusers-synapse.conf "$pkgdir"/usr/lib/sysusers.d/synapse.conf install -Dm644 "$srcdir"/tmpfiles-synapse.conf "$pkgdir"/usr/lib/tmpfiles.d/synapse.conf } Added: generic_worker.yaml.example =================================================================== --- generic_worker.yaml.example (rev 0) +++ generic_worker.yaml.example 2021-05-23 22:01:14 UTC (rev 943521) @@ -0,0 +1,34 @@ +# To configure workers please refer to: +# https://github.com/matrix-org/synapse/blob/master/docs/workers.md + +# The type of the worker. A generic_worker can handle a part of the +# client/federation API requests, taking some load from the master +# process. +# If used, the reverse proxy has to be configured accordingly. +worker_app: synapse.app.generic_worker + +# The name of the worker. Must be unique among all workers. +worker_name: worker1 + +# The replication listener on the main synapse process. +worker_replication_host: '127.0.0.1' +worker_replication_http_port: 9093 + + +worker_listeners: + - type: http + bind_address: '127.0.0.1' + port: 8083 + +# Uncomment the following to make this worker respect the +# X-Forwarded-For header set by your reverse proxy. +# x_forwarded: true + +# Because a generic_worker handles client and federation API requests +# it needs the client and federation resources. + resources: + - names: + - client + - federation + +worker_log_config: /etc/synapse/log_config.yaml Added: synapse-worker@.service =================================================================== --- synapse-worker@.service (rev 0) +++ synapse-worker@.service 2021-05-23 22:01:14 UTC (rev 943521) @@ -0,0 +1,22 @@ +[Unit] +Description=Synapse Matrix homeserver (%i) +AssertPathExists=/etc/synapse/workers/%i.yaml +PartOf=synapse.target +ReloadPropagatedFrom=synapse.target +After=synapse.service + +[Service] +Type=notify +User=synapse +Group=synapse +SyslogIdentifier=synapse-%i +Environment=LANG=en_US.UTF-8 +WorkingDirectory=/var/lib/synapse +ExecStart=/usr/bin/python3 -m synapse.app.generic_worker --config-path=/etc/synapse/homeserver.yaml --config-path=/etc/synapse/workers/%i.yaml +ExecReload=/bin/kill -HUP $MAINPID +EnvironmentFile=-/etc/default/synapse +Restart=always +RestartSec=3 + +[Install] +WantedBy=synapse.target Modified: synapse.service =================================================================== --- synapse.service 2021-05-23 21:59:24 UTC (rev 943520) +++ synapse.service 2021-05-23 22:01:14 UTC (rev 943521) @@ -1,7 +1,9 @@ [Unit] -Description=Synapse Matrix homeserver +Description=Synapse Matrix homeserver (master) After=network-online.target Wants=network-online.target +PartOf=synapse.target +ReloadPropagatedFrom=synapse.target [Service] Type=notify @@ -18,4 +20,4 @@ RestartSec=3 [Install] -WantedBy=multi-user.target +WantedBy=multi-user.target synapse.target Added: synapse.target =================================================================== --- synapse.target (rev 0) +++ synapse.target 2021-05-23 22:01:14 UTC (rev 943521) @@ -0,0 +1,7 @@ +[Unit] +Description=Synapse parent target +After=network-online.target +Wants=network-online.target + +[Install] +WantedBy=multi-user.target