def test_context_manager_on(self): with self.settings(MAINTENANCE_MODE_STATE_FILE_PATH=self.tmp_dir): for value in [True, False]: core.set_maintenance_mode(value) with core.maintenance_mode_on(): self.assertEqual(core.get_maintenance_mode(), True) self.assertEqual(core.get_maintenance_mode(), value)
def reload_plugins(self): """safely reload IntegrationPlugins""" # do not reload whe currently loading if self.is_loading: return logger.info('Start reloading plugins') with maintenance_mode_on(): self.unload_plugins() self.load_plugins() logger.info('Finished reloading plugins')
def reload_plugins(self, full_reload: bool = False): """Safely reload. Args: full_reload (bool, optional): Reload everything - including plugin mechanism. Defaults to False. """ # Do not reload whe currently loading if self.is_loading: return # pragma: no cover logger.info('Start reloading plugins') with maintenance_mode_on(): self.unload_plugins() self.load_plugins(full_reload) logger.info('Finished reloading plugins')