def main(**kwargs): set_start_method('fork') # PyInstaller supports only fork start method pickling_support.install() init_satellite_dir() try: config = configure(**{ name: value for name, value in kwargs.items() if value is not None }) except InvalidConfigError as exc: raise click.ClickException(f'Invalid config: {exc}') from exc satellite_logging.configure(log_path=config.log_path, silent=config.silent) db.configure(config.db_path) try: db.init() except db.DBVersionMismatch as exc: raise click.ClickException(exc) from exc deleted_aliases = AliasStore.cleanup() logger = logging.getLogger() logger.info(f'Deleted {deleted_aliases} expired aliases.') app = WebApplication(config) app.start()
def test_cleanup(): session = get_session() session.query(Alias).delete() session.commit() persistent_store = AliasStore() alias1 = make_alias(False) persistent_store.save(alias1) volatile_store = AliasStore(60) alias2 = make_alias(False) volatile_store.save(alias2) alias3 = make_alias(False) AliasStore(-1).save(alias3) assert AliasStore.cleanup() == 1 persistent_store.get_by_value(alias1.value) is not None volatile_store.get_by_value(alias2.value) is not None volatile_store.get_by_value(alias3.value) is None
def main(**kwargs): set_start_method('fork') # PyInstaller supports only fork start method pickling_support.install() init_satellite_dir() try: config = configure(**{ name: value for name, value in kwargs.items() if value is not None }) except InvalidConfigError as exc: raise click.ClickException(f'Invalid config: {exc}') from exc satellite_logging.configure(log_path=config.log_path, silent=config.silent) logger = logging.getLogger() db.configure(config.db_path) try: db.init() except db.DBVersionMismatch as exc: raise click.ClickException(exc) from exc if config.routes_path: with open(config.routes_path, 'r') as stream: try: loaded_routes_count = load_from_yaml(stream) except LoadError as exc: raise click.ClickException( f'Unable to load routes from file: {exc}') from exc logger.info( f'Loaded {loaded_routes_count} routes from routes config file.') deleted_aliases = AliasStore.cleanup() logger.info(f'Deleted {deleted_aliases} expired aliases.') app = WebApplication(config) app.start()