Ensure the proper handlers are loaded during start-up.
parent
0d06a87c98
commit
2e98b78176
|
@ -389,8 +389,6 @@ def setup(config_options):
|
|||
except UpgradeDatabaseException as e:
|
||||
quit_with_error("Failed to upgrade database: %s" % (e,))
|
||||
|
||||
hs.setup_master()
|
||||
|
||||
async def do_acme() -> bool:
|
||||
"""
|
||||
Reprovision an ACME certificate, if it's required.
|
||||
|
|
|
@ -185,7 +185,17 @@ class HomeServer(metaclass=abc.ABCMeta):
|
|||
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
|
||||
# (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)
|
||||
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
|
||||
background updates). This function causes them to be fetched, and
|
||||
therefore instantiated, to run those side effects.
|
||||
"""
|
||||
for i in self.REQUIRED_ON_MASTER_STARTUP:
|
||||
getattr(self, "get_" + i)()
|
||||
for i in self.REQUIRED_ON_BACKGROUND_TASK_STARTUP:
|
||||
getattr(self, "get_" + i + "_handler")()
|
||||
|
||||
def get_reactor(self) -> twisted.internet.base.ReactorBase:
|
||||
"""
|
||||
|
|
|
@ -276,7 +276,7 @@ def setup_test_homeserver(
|
|||
|
||||
hs.setup()
|
||||
if homeserverToUse.__name__ == "TestHomeServer":
|
||||
hs.setup_master()
|
||||
hs.setup_background_tasks()
|
||||
|
||||
if isinstance(db_engine, PostgresEngine):
|
||||
database = hs.get_datastores().databases[0]
|
||||
|
|
Loading…
Reference in New Issue