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