From f1227107161b8eaecf6da9c20ca5cb981f803fc8 Mon Sep 17 00:00:00 2001 From: Azrenbeth <7782548+Azrenbeth@users.noreply.github.com> Date: Fri, 13 Aug 2021 16:38:16 +0100 Subject: run in background --- synapse/app/_base.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'synapse/app/_base.py') diff --git a/synapse/app/_base.py b/synapse/app/_base.py index 10f75c4e69..a206c0015c 100644 --- a/synapse/app/_base.py +++ b/synapse/app/_base.py @@ -43,8 +43,11 @@ from synapse.crypto import context_factory from synapse.events.presence_router import load_legacy_presence_router from synapse.events.spamcheck import load_legacy_spam_checkers from synapse.events.third_party_rules import load_legacy_third_party_event_rules -from synapse.logging.context import PreserveLoggingContext -from synapse.metrics.background_process_metrics import wrap_as_background_process +from synapse.logging.context import PreserveLoggingContext, defer_to_thread +from synapse.metrics.background_process_metrics import ( + run_as_background_process, + wrap_as_background_process, +) from synapse.metrics.jemalloc import setup_jemalloc_stats from synapse.util.caches.lrucache import setup_expire_lru_cache_entries from synapse.util.daemonize import daemonize_process @@ -436,14 +439,22 @@ def setup_state_compressor(hs): database=db_args["database"], ) + def run_state_compressor(): + run_as_background_process( + desc="State Compressor", + func=defer_to_thread, + reactor=hs.get_reactor(), + f=auto_compressor.compress_largest_rooms, + db_url=db_url, + chunk_size=10, + default_levels="100,50,25", + number_of_rooms=10, + ) + clock = hs.get_clock() clock.looping_call( - auto_compressor.compress_largest_rooms, + run_state_compressor, 1 * 60 * 1000, - db_url=db_url, - chunk_size=10, - default_levels="100,50,25", - number_of_rooms=10, ) -- cgit 1.5.1