summary refs log tree commit diff
path: root/docs/synctl_workers.md
diff options
context:
space:
mode:
authorOlivier Wilkinson (reivilibre) <olivier@librepush.net>2020-07-30 15:18:36 +0100
committerOlivier Wilkinson (reivilibre) <olivier@librepush.net>2020-07-30 15:18:36 +0100
commit3aa36b782c715a2d3c965d5d9b37f7a49a5f17e1 (patch)
tree16ab78763c83a0b7b5157f0fe0dca6b4135fd47c /docs/synctl_workers.md
parentConvert federation client to async/await. (#7975) (diff)
parentFix formatting of changelog and upgrade notes (diff)
downloadsynapse-3aa36b782c715a2d3c965d5d9b37f7a49a5f17e1.tar.xz
Merge branch 'master' into develop
Diffstat (limited to 'docs/synctl_workers.md')
-rw-r--r--docs/synctl_workers.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/docs/synctl_workers.md b/docs/synctl_workers.md
new file mode 100644
index 0000000000..8da4a31852
--- /dev/null
+++ b/docs/synctl_workers.md
@@ -0,0 +1,32 @@
+### Using synctl with workers
+
+If you want to use `synctl` to manage your synapse processes, you will need to
+create an an additional configuration file for the main synapse process. That
+configuration should look like this:
+
+```yaml
+worker_app: synapse.app.homeserver
+```
+
+Additionally, each worker app must be configured with the name of a "pid file",
+to which it will write its process ID when it starts. For example, for a
+synchrotron, you might write:
+
+```yaml
+worker_pid_file: /home/matrix/synapse/worker1.pid
+```
+
+Finally, to actually run your worker-based synapse, you must pass synctl the `-a`
+commandline option to tell it to operate on all the worker configurations found
+in the given directory, e.g.:
+
+    synctl -a $CONFIG/workers start
+
+Currently one should always restart all workers when restarting or upgrading
+synapse, unless you explicitly know it's safe not to.  For instance, restarting
+synapse without restarting all the synchrotrons may result in broken typing
+notifications.
+
+To manipulate a specific worker, you pass the -w option to synctl:
+
+    synctl -w $CONFIG/workers/worker1.yaml restart