fix: 修复6个边缘侧问题 + 单元测试
1. 删除 ConfigAgent (与 MQTT 配置更新重叠且未启用) 2. OTA 完整安装流程: 解压tar.gz -> 校验ELF -> 替换二进制 -> systemctl重启 3. StreamManager stopAll 添加 Wait() 防止僵尸进程 4. InferClient socket 读写添加 timeout 防止永久阻塞 5. Heartbeat 集成 NPU 监控 (npu-smi + fallback 脚本) 6. 配置更新时动态重启 ffmpeg 以应用新 fps
This commit is contained in:
@@ -208,10 +208,17 @@ func (c *Client) send(conn net.Conn, f stream.Frame) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
conn.SetWriteDeadline(time.Now().Add(10 * time.Second))
|
||||
defer conn.SetWriteDeadline(time.Time{})
|
||||
return writeMsg(conn, data)
|
||||
}
|
||||
|
||||
func (c *Client) recv(conn net.Conn) (*resultMsg, error) {
|
||||
// Set read deadline to prevent blocking forever if inference server hangs
|
||||
// 30s timeout covers even slow NPU inference on large images
|
||||
conn.SetReadDeadline(time.Now().Add(30 * time.Second))
|
||||
defer conn.SetReadDeadline(time.Time{}) // reset after read
|
||||
|
||||
data, err := readMsg(conn)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user