summary refs log tree commit diff
path: root/synapse/config/workers.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2021-01-08 11:18:20 +0000
committerErik Johnston <erik@matrix.org>2021-01-08 11:18:20 +0000
commit00c62b9d07488ef9891f3a911683f30cfc09732c (patch)
treed61c831c721789620d5a6fd4ed5c35f94cbfdc97 /synapse/config/workers.py
parentMerge remote-tracking branch 'origin/develop' into matrix-org-hotfixes (diff)
parentAllow running sendToDevice on workers (#9044) (diff)
downloadsynapse-00c62b9d07488ef9891f3a911683f30cfc09732c.tar.xz
Merge remote-tracking branch 'origin/develop' into matrix-org-hotfixes
Diffstat (limited to 'synapse/config/workers.py')
-rw-r--r--synapse/config/workers.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/synapse/config/workers.py b/synapse/config/workers.py

index 7ca9efec52..364583f48b 100644 --- a/synapse/config/workers.py +++ b/synapse/config/workers.py
@@ -53,6 +53,9 @@ class WriterLocations: default=["master"], type=List[str], converter=_instance_to_list_converter ) typing = attr.ib(default="master", type=str) + to_device = attr.ib( + default=["master"], type=List[str], converter=_instance_to_list_converter, + ) class WorkerConfig(Config): @@ -124,7 +127,7 @@ class WorkerConfig(Config): # Check that the configured writers for events and typing also appears in # `instance_map`. - for stream in ("events", "typing"): + for stream in ("events", "typing", "to_device"): instances = _instance_to_list_converter(getattr(self.writers, stream)) for instance in instances: if instance != "master" and instance not in self.instance_map: @@ -133,6 +136,11 @@ class WorkerConfig(Config): % (instance, stream) ) + if len(self.writers.to_device) != 1: + raise ConfigError( + "Must only specify one instance to handle `to_device` messages." + ) + self.events_shard_config = ShardedWorkerHandlingConfig(self.writers.events) # Whether this worker should run background tasks or not.