修复flask问题
This commit is contained in:
@@ -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'])
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user