From 774c4c82fae9b04af1fc876fb5f652483b675cce Mon Sep 17 00:00:00 2001 From: Stefan Allius Date: Tue, 15 Apr 2025 19:42:33 +0200 Subject: [PATCH] remove global proxy_is_up --- app/src/server.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/app/src/server.py b/app/src/server.py index f78a38d..9cf5f6b 100644 --- a/app/src/server.py +++ b/app/src/server.py @@ -17,7 +17,18 @@ from cnf.config_read_toml import ConfigReadToml from cnf.config_read_json import ConfigReadJson from modbus_tcp import ModbusTcp -proxy_is_up = False + +class ProxyState: + _is_up = False + + @staticmethod + def is_up() -> bool: + return ProxyState._is_up + + @staticmethod + def set_up(value: bool): + ProxyState._is_up = value + app = Quart(__name__) @@ -29,7 +40,7 @@ async def hello(): @app.route('/-/ready') async def ready(): - if proxy_is_up: + if ProxyState.is_up(): status = 200 text = 'Is ready' else: @@ -41,7 +52,7 @@ async def ready(): @app.route('/-/healthy') async def healthy(): - if proxy_is_up: + if ProxyState.is_up(): # logging.info('web reqeust healthy()') for inverter in InverterIfc: try: @@ -62,13 +73,12 @@ async def handle_client(reader: StreamReader, writer: StreamWriter, inv_class): @app.after_serving -async def handle_shutdown(): +async def handle_shutdown(): # pragma: no cover '''Close all TCP connections and stop the event loop''' logging.info('Shutdown due to SIGTERM') loop = asyncio.get_event_loop() - global proxy_is_up - proxy_is_up = False + ProxyState.set_up(False) # # first, disc all open TCP connections gracefully @@ -190,8 +200,7 @@ def main(): # pragma: no cover loop.set_debug(log_level == logging.DEBUG) try: - global proxy_is_up - proxy_is_up = True + ProxyState.set_up(True) logging.info("Start Quart") app.run(host='0.0.0.0', port=8127, use_reloader=False, loop=loop) logging.info("Quart stopped")