feat: auto-reconnect AGV on Flask startup (async, 2s delay)

This commit is contained in:
ywb
2026-05-17 09:46:13 +08:00
parent c3a5af8045
commit 5f0fa2e787
+14
View File
@@ -118,6 +118,20 @@ try:
# Flask 2.3+ 方式 # Flask 2.3+ 方式
with app.app_context(): with app.app_context():
load_persisted_config() 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: except:
# 兼容旧版 Flask # 兼容旧版 Flask
@app.before_first_request @app.before_first_request