From 7b732aad622d802dc8c05e52d4bb731835a1ba5c Mon Sep 17 00:00:00 2001 From: milk <53408947@qq.com> Date: Mon, 27 Oct 2025 17:01:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dflask=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Module/FlaskService.py | 28 +----------------- .../__pycache__/FlaskService.cpython-312.pyc | Bin 40504 -> 38791 bytes 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/Module/FlaskService.py b/Module/FlaskService.py index d3b5d3f..7e74809 100644 --- a/Module/FlaskService.py +++ b/Module/FlaskService.py @@ -107,7 +107,7 @@ def _apply_device_event(obj: Dict[str, Any]): def _handle_conn(conn: socket.socket, addr): """统一的连接处理函数(外部全局,避免内嵌函数覆盖)""" try: - LogManager.info(f"[SOCKET][ACCEPT] from={addr}") + # LogManager.info(f"[SOCKET][ACCEPT] from={addr}") with conn: buffer = "" while True: @@ -173,35 +173,9 @@ def start_socket_listener(): continue threading.Thread(target=_handle_conn, args=(conn, addr), daemon=True).start() -# 监听存活看门狗:端口不可连就拉起 -def _listener_watchdog(): - import socket as _s - port = int(os.getenv('FLASK_COMM_PORT', 34566)) - while True: - try: - ok = False - try: - with _s.socket(_s.AF_INET, _s.SOCK_STREAM) as c: - c.settimeout(1.0) - c.connect(('127.0.0.1', port)) - ok = True - except Exception: - ok = False - if not ok: - LogManager.warning(f"[SOCKET][WATCHDOG] listener not reachable on {port}, restarting...") - try: - threading.Thread(target=start_socket_listener, daemon=True).start() - except Exception as e: - LogManager.error(f"[SOCKET][WATCHDOG] restart failed: {e}") - except Exception as e: - LogManager.error(f"[SOCKET][WATCHDOG] error: {e}") - time.sleep(5) - # 独立线程启动 Socket 服务 + 看门狗 listener_thread = threading.Thread(target=start_socket_listener, daemon=True) listener_thread.start() -watchdog_thread = threading.Thread(target=_listener_watchdog, daemon=True) -watchdog_thread.start() # ============ API 路由 ============ @app.route('/deviceList', methods=['GET']) diff --git a/Module/__pycache__/FlaskService.cpython-312.pyc b/Module/__pycache__/FlaskService.cpython-312.pyc index 400814975a3bb92270d96c41813b13d16b82cfe5..68a44d3cf70957b1ede007de8a1287f461b62621 100644 GIT binary patch delta 5032 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 VKhNRCt1Ec=+`csR^L@)r{{vM^q%Z&g delta 6327 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