Loading src/forecaster/service/__main__.py +19 −16 Original line number Diff line number Diff line Loading @@ -16,27 +16,28 @@ import logging, signal, sys, threading from prometheus_client import start_http_server from common.Constants import ServiceNameEnum from common.Settings import ( ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, get_env_var_name, get_log_level, get_metrics_port, wait_for_environment_variables) ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, get_env_var_name, get_log_level, get_metrics_port, wait_for_environment_variables ) from .ForecasterService import ForecasterService terminate = threading.Event() LOGGER : logging.Logger = None def signal_handler(signal, frame): # pylint: disable=redefined-outer-name LOGGER.warning('Terminate signal received') terminate.set() def main(): global LOGGER # pylint: disable=global-statement TERMINATE = threading.Event() log_level = get_log_level() logging.basicConfig(level=log_level, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s") LOG_LEVEL = get_log_level() logging.basicConfig(level=LOG_LEVEL, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s") logging.getLogger('apscheduler.executors.default').setLevel(logging.WARNING) logging.getLogger('apscheduler.scheduler').setLevel(logging.WARNING) logging.getLogger('monitoring-client').setLevel(logging.WARNING) LOGGER = logging.getLogger(__name__) def signal_handler(signal, frame): # pylint: disable=redefined-outer-name LOGGER.warning('Terminate signal received') TERMINATE.set() def main(): wait_for_environment_variables([ get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_HOST ), get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_PORT_GRPC), Loading @@ -53,12 +54,13 @@ def main(): metrics_port = get_metrics_port() start_http_server(metrics_port) # Starting Forecaster service # Starting service grpc_service = ForecasterService() grpc_service.start() LOGGER.info('Running...') # Wait for Ctrl+C or termination signal while not terminate.wait(timeout=1.0): pass while not TERMINATE.wait(timeout=1.0): pass LOGGER.info('Terminating...') grpc_service.stop() Loading @@ -66,5 +68,6 @@ def main(): LOGGER.info('Bye') return 0 if __name__ == '__main__': sys.exit(main()) Loading
src/forecaster/service/__main__.py +19 −16 Original line number Diff line number Diff line Loading @@ -16,27 +16,28 @@ import logging, signal, sys, threading from prometheus_client import start_http_server from common.Constants import ServiceNameEnum from common.Settings import ( ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, get_env_var_name, get_log_level, get_metrics_port, wait_for_environment_variables) ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, get_env_var_name, get_log_level, get_metrics_port, wait_for_environment_variables ) from .ForecasterService import ForecasterService terminate = threading.Event() LOGGER : logging.Logger = None def signal_handler(signal, frame): # pylint: disable=redefined-outer-name LOGGER.warning('Terminate signal received') terminate.set() def main(): global LOGGER # pylint: disable=global-statement TERMINATE = threading.Event() log_level = get_log_level() logging.basicConfig(level=log_level, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s") LOG_LEVEL = get_log_level() logging.basicConfig(level=LOG_LEVEL, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s") logging.getLogger('apscheduler.executors.default').setLevel(logging.WARNING) logging.getLogger('apscheduler.scheduler').setLevel(logging.WARNING) logging.getLogger('monitoring-client').setLevel(logging.WARNING) LOGGER = logging.getLogger(__name__) def signal_handler(signal, frame): # pylint: disable=redefined-outer-name LOGGER.warning('Terminate signal received') TERMINATE.set() def main(): wait_for_environment_variables([ get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_HOST ), get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_PORT_GRPC), Loading @@ -53,12 +54,13 @@ def main(): metrics_port = get_metrics_port() start_http_server(metrics_port) # Starting Forecaster service # Starting service grpc_service = ForecasterService() grpc_service.start() LOGGER.info('Running...') # Wait for Ctrl+C or termination signal while not terminate.wait(timeout=1.0): pass while not TERMINATE.wait(timeout=1.0): pass LOGGER.info('Terminating...') grpc_service.stop() Loading @@ -66,5 +68,6 @@ def main(): LOGGER.info('Bye') return 0 if __name__ == '__main__': sys.exit(main())