summary refs log tree commit diff
path: root/synapse/config/workers.py
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2020-12-31 11:23:24 +0000
committerAndrew Morgan <andrew@amorgan.xyz>2020-12-31 11:23:24 +0000
commit5fc0dd81266359c53dec589426af33a10f5f1100 (patch)
tree1b931a45f2a23ae2b7c78f705f1ea87b58dd252f /synapse/config/workers.py
parentAllow users to click account renewal links multiple times without hitting an ... (diff)
parentMerge branch 'master' into develop (diff)
downloadsynapse-5fc0dd81266359c53dec589426af33a10f5f1100.tar.xz
Merge commit '74976a8e4' into dinsic
Diffstat (limited to 'synapse/config/workers.py')
-rw-r--r--synapse/config/workers.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/synapse/config/workers.py b/synapse/config/workers.py

index f23e42cdf9..57ab097eba 100644 --- a/synapse/config/workers.py +++ b/synapse/config/workers.py
@@ -132,6 +132,19 @@ class WorkerConfig(Config): self.events_shard_config = ShardedWorkerHandlingConfig(self.writers.events) + # Whether this worker should run background tasks or not. + # + # As a note for developers, the background tasks guarded by this should + # be able to run on only a single instance (meaning that they don't + # depend on any in-memory state of a particular worker). + # + # No effort is made to ensure only a single instance of these tasks is + # running. + background_tasks_instance = config.get("run_background_tasks_on") or "master" + self.run_background_tasks = ( + self.worker_name is None and background_tasks_instance == "master" + ) or self.worker_name == background_tasks_instance + def generate_config_section(self, config_dir_path, server_name, **kwargs): return """\ ## Workers ## @@ -167,6 +180,11 @@ class WorkerConfig(Config): #stream_writers: # events: worker1 # typing: worker1 + + # The worker that is used to run background tasks (e.g. cleaning up expired + # data). If not provided this defaults to the main process. + # + #run_background_tasks_on: worker1 """ def read_arguments(self, args):