From 6c3da65d66c4cbc2ac548cf757b7c1bfa7b83b5a Mon Sep 17 00:00:00 2001 From: gifrerenom <lluis.gifre@cttc.es> Date: Sun, 16 Mar 2025 19:15:29 +0000 Subject: [PATCH] Forecaster component: - Homogeneized code with other components --- src/forecaster/service/__main__.py | 35 ++++++++++++++++-------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/forecaster/service/__main__.py b/src/forecaster/service/__main__.py index cf5e88110..54f3331fa 100644 --- a/src/forecaster/service/__main__.py +++ b/src/forecaster/service/__main__.py @@ -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 + +TERMINATE = threading.Event() + +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() + TERMINATE.set() -def main(): - global LOGGER # pylint: disable=global-statement - - 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 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), @@ -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() @@ -66,5 +68,6 @@ def main(): LOGGER.info('Bye') return 0 + if __name__ == '__main__': sys.exit(main()) -- GitLab