diff options
author | Erik Johnston <erik@matrix.org> | 2020-07-16 15:12:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-16 15:12:54 +0100 |
commit | f2e38ca86711a8f80cf45d3182e426ed8967fc81 (patch) | |
tree | 5a46223ed7b3e50f018d96a09776b7e442619377 /synapse/config/workers.py | |
parent | Add ability to run multiple pusher instances (#7855) (diff) | |
download | synapse-f2e38ca86711a8f80cf45d3182e426ed8967fc81.tar.xz |
Allow moving typing off master (#7869)
Diffstat (limited to 'synapse/config/workers.py')
-rw-r--r-- | synapse/config/workers.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/synapse/config/workers.py b/synapse/config/workers.py index dbc661630c..2574cd3aa1 100644 --- a/synapse/config/workers.py +++ b/synapse/config/workers.py @@ -34,9 +34,11 @@ class WriterLocations: Attributes: events: The instance that writes to the event and backfill streams. + events: The instance that writes to the typing stream. """ events = attr.ib(default="master", type=str) + typing = attr.ib(default="master", type=str) class WorkerConfig(Config): @@ -93,16 +95,15 @@ class WorkerConfig(Config): writers = config.get("stream_writers") or {} self.writers = WriterLocations(**writers) - # Check that the configured writer for events also appears in + # Check that the configured writer for events and typing also appears in # `instance_map`. - if ( - self.writers.events != "master" - and self.writers.events not in self.instance_map - ): - raise ConfigError( - "Instance %r is configured to write events but does not appear in `instance_map` config." - % (self.writers.events,) - ) + for stream in ("events", "typing"): + instance = getattr(self.writers, stream) + if instance != "master" and instance not in self.instance_map: + raise ConfigError( + "Instance %r is configured to write %s but does not appear in `instance_map` config." + % (instance, stream) + ) def read_arguments(self, args): # We support a bunch of command line arguments that override options in |