Commit Graph

9 Commits

Author SHA1 Message Date
5a0265de52 修复:P0+P1 生产稳定性和性能优化(6项)
P0 稳定性修复:
- 告警去重字典添加惰性清理机制,防止长时间运行内存溢出
- Redis 连接断开时显式 close() 后再置 None,防止文件描述符泄漏
- 截图消息 ACK 移至成功路径,失败消息留在 pending list 自动重试

P1 性能优化:
- GPU NMS 添加 torch.no_grad() + 显式释放临时张量,减少显存碎片
- 截图存储改为 Redis 原始 bytes,去掉 Base64 编解码开销(兼容旧格式)
- ROI 配置查询 N+1 改为 get_all_bindings() 单次 JOIN 查询

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 14:10:27 +08:00
749257cb8a 修复:截图处理器 Redis 断线后无法自动重连的死循环
- 重连失败时不再置 cloud_redis=None,避免后续循环走错分支
- except Exception 分支增加 cloud_redis is None 判断,主动触发重连
- 重连成功后重置退避计时器
2026-03-25 10:27:49 +08:00
5049f7b26b 功能:截图处理器按device_id过滤请求,consumer name加设备标识 2026-03-20 22:20:20 +08:00
56bf454135 修复:XREAD 空闲时主动 PING 保活,解决 Windows 下云端 Redis 频繁断连
Windows 不支持 TCP_KEEPIDLE 自定义参数,TCP keepalive 无法阻止
腾讯云 Redis 的空闲超时断连。改用应用层 PING 保活:
每次 XREAD 超时(5秒)返回空时发一次 PING,确保连接活跃。
2026-03-20 15:07:05 +08:00
b70f8cd680 优化:Redis 连接增强 — TCP keepalive 适配 + 截图处理器独立重连
- 新增 _build_keepalive_options() 适配 Linux/Windows TCP keepalive
- health_check_interval 30→15秒,更快发现断连
- 截图处理器新增 _reconnect_cloud_redis() 独立重连能力
- 截图监听捕获 ConnectionError 主动重连,不再退避到60秒
2026-03-20 11:19:31 +08:00
9a1ac16f19 修复:截图回调禁用系统代理,解决502回调失败
requests.post回调WVP时被本地代理(127.0.0.1:7897)拦截导致502,
添加proxies=None绕过系统代理直连WVP。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 09:40:51 +08:00
d9d58dfafa feat(edge): 截图支持临时 RTSP 连接,解决无 ROI 摄像头无法截图
_capture_frame 增加 rtsp_url 参数,优先走已有流,无流时降级
临时连接 RTSP 抓帧(_capture_ondemand),用完即释放。
提取 _encode_jpeg 公共方法。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 09:39:14 +08:00
6d1e0e4a5e feat(edge): 截图响应改为HTTP回调,COS使用预签名URL
- 截图完成后优先通过HTTP回调WVP返回结果,回调失败降级写Redis
- COS上传后生成预签名URL(1小时有效期),不附加额外Params
- 移除Edge端缓存逻辑(缓存由WVP端统一管理)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 15:48:12 +08:00
f70e6b6003 feat(edge): 新增截图处理模块,支持远程截图请求
- 新增 core/screenshot_handler.py:监听云端 Redis Stream 截图请求,
  抓帧后直传 COS,将结果 URL 写回 Redis
- main.py 集成 ScreenshotHandler 的初始化和停止
- requirements.txt 添加 cos-python-sdk-v5 依赖

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:22:49 +08:00