Ensure the proper handlers are loaded during start-up.

pull/8369/head
Patrick Cloke 2020-09-24 14:39:33 -04:00
parent 0d06a87c98
commit 2e98b78176
3 changed files with 18 additions and 7 deletions

View File

@ -389,8 +389,6 @@ def setup(config_options):
except UpgradeDatabaseException as e: except UpgradeDatabaseException as e:
quit_with_error("Failed to upgrade database: %s" % (e,)) quit_with_error("Failed to upgrade database: %s" % (e,))
hs.setup_master()
async def do_acme() -> bool: async def do_acme() -> bool:
""" """
Reprovision an ACME certificate, if it's required. Reprovision an ACME certificate, if it's required.

View File

@ -185,7 +185,17 @@ class HomeServer(metaclass=abc.ABCMeta):
we are listening on to provide HTTP services. we are listening on to provide HTTP services.
""" """
REQUIRED_ON_MASTER_STARTUP = ["user_directory_handler", "stats_handler"] REQUIRED_ON_BACKGROUND_TASK_STARTUP = [
"account_validity",
"auth",
"deactivate_account",
"device",
"message",
"pagination",
"profile",
"stats",
"user_directory",
]
# This is overridden in derived application classes # This is overridden in derived application classes
# (such as synapse.app.homeserver.SynapseHomeServer) and gives the class to be # (such as synapse.app.homeserver.SynapseHomeServer) and gives the class to be
@ -251,14 +261,17 @@ class HomeServer(metaclass=abc.ABCMeta):
self.datastores = Databases(self.DATASTORE_CLASS, self) self.datastores = Databases(self.DATASTORE_CLASS, self)
logger.info("Finished setting up.") logger.info("Finished setting up.")
def setup_master(self) -> None: if self.config.run_background_tasks:
self.setup_background_tasks()
def setup_background_tasks(self) -> None:
""" """
Some handlers have side effects on instantiation (like registering Some handlers have side effects on instantiation (like registering
background updates). This function causes them to be fetched, and background updates). This function causes them to be fetched, and
therefore instantiated, to run those side effects. therefore instantiated, to run those side effects.
""" """
for i in self.REQUIRED_ON_MASTER_STARTUP: for i in self.REQUIRED_ON_BACKGROUND_TASK_STARTUP:
getattr(self, "get_" + i)() getattr(self, "get_" + i + "_handler")()
def get_reactor(self) -> twisted.internet.base.ReactorBase: def get_reactor(self) -> twisted.internet.base.ReactorBase:
""" """

View File

@ -276,7 +276,7 @@ def setup_test_homeserver(
hs.setup() hs.setup()
if homeserverToUse.__name__ == "TestHomeServer": if homeserverToUse.__name__ == "TestHomeServer":
hs.setup_master() hs.setup_background_tasks()
if isinstance(db_engine, PostgresEngine): if isinstance(db_engine, PostgresEngine):
database = hs.get_datastores().databases[0] database = hs.get_datastores().databases[0]