From 5f0fa2e787e2fcee8c2f14a587f25f7e2b20e380 Mon Sep 17 00:00:00 2001 From: ywb <347742090@qq.com> Date: Sun, 17 May 2026 09:46:13 +0800 Subject: [PATCH] feat: auto-reconnect AGV on Flask startup (async, 2s delay) --- agv_app/app.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/agv_app/app.py b/agv_app/app.py index bd9fb82..e4fcb3c 100644 --- a/agv_app/app.py +++ b/agv_app/app.py @@ -118,6 +118,20 @@ try: # Flask 2.3+ 方式 with app.app_context(): load_persisted_config() + # 启动时自动重连 AGV(异步,不阻塞 Flask 启动) + import threading + def _auto_reconnect(): + time.sleep(2) # 等待 Flask 完全就绪 + try: + from utils.agv_controller_ros2 import AGVController + gs.agv_controller = AGVController() + if gs.agv_controller.connect(): + print("[启动] AGV 自动连接成功") + else: + print("[启动] AGV 自动连接失败,请手动连接") + except Exception as e: + print(f"[启动] AGV 自动连接异常: {e}") + threading.Thread(target=_auto_reconnect, daemon=True).start() except: # 兼容旧版 Flask @app.before_first_request