def main(sys_argv=sys.argv): # type: (List[str]) -> None setup_signal_handlers() # get arguments parser = build_arg_parser("Grouper Web Server.") args = parser.parse_args(sys_argv[1:]) try: # load settings settings = FrontendSettings.global_settings_from_config(args.config) # setup logging setup_logging(args, settings.log_format) # setup sentry sentry_client = get_sentry_client(settings.sentry_dsn) except Exception: logging.exception("uncaught exception in startup") sys.exit(1) try: start_server(args, settings, sentry_client) except Exception: sentry_client.captureException() finally: logging.info("end")
def main(sys_argv=sys.argv): # type: (List[str]) -> None setup_signal_handlers() # The curl HTTP client is required to support proxies. AsyncHTTPClient.configure(CurlAsyncHTTPClient) # get arguments parser = build_arg_parser("Grouper Web Server.") args = parser.parse_args(sys_argv[1:]) try: settings = FrontendSettings.global_settings_from_config(args.config) setup_logging(args, settings.log_format) plugins = PluginProxy.load_plugins(settings, "grouper-fe") set_global_plugin_proxy(plugins) except PluginsDirectoryDoesNotExist as e: logging.fatal("Plugin directory does not exist: {}".format(e)) sys.exit(1) except Exception: logging.exception("Uncaught exception in startup") sys.exit(1) try: start_server(args, settings, plugins) except Exception: plugins.log_exception(None, None, *sys.exc_info()) logging.exception("Uncaught exception") finally: logging.info("end")