summary refs log tree commit diff
path: root/synapse/app
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2020-04-28 13:34:12 +0100
committerGitHub <noreply@github.com>2020-04-28 13:34:12 +0100
commit38919b521e209d5020dba3e8394d8213b07f6bf9 (patch)
tree1f78b1226aeccf8fe9f1c7c520b0109201432c29 /synapse/app
parentFix incorrect metrics reporting for renew_attestations (#7344) (diff)
downloadsynapse-38919b521e209d5020dba3e8394d8213b07f6bf9.tar.xz
Run replication streamers on workers (#7146)
Currently we never write to streams from workers, but that will change soon
Diffstat (limited to 'synapse/app')
-rw-r--r--synapse/app/generic_worker.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/synapse/app/generic_worker.py b/synapse/app/generic_worker.py
index 2a56fe0bd5..d125327f08 100644
--- a/synapse/app/generic_worker.py
+++ b/synapse/app/generic_worker.py
@@ -960,17 +960,22 @@ def start(config_options):
 
     synapse.events.USE_FROZEN_DICTS = config.use_frozen_dicts
 
-    ss = GenericWorkerServer(
+    hs = GenericWorkerServer(
         config.server_name,
         config=config,
         version_string="Synapse/" + get_version_string(synapse),
     )
 
-    setup_logging(ss, config, use_worker_options=True)
+    setup_logging(hs, config, use_worker_options=True)
+
+    hs.setup()
+
+    # Ensure the replication streamer is always started in case we write to any
+    # streams. Will no-op if no streams can be written to by this worker.
+    hs.get_replication_streamer()
 
-    ss.setup()
     reactor.addSystemEventTrigger(
-        "before", "startup", _base.start, ss, config.worker_listeners
+        "before", "startup", _base.start, hs, config.worker_listeners
     )
 
     _base.start_worker_reactor("synapse-generic-worker", config)