wangguangyuan
|
112da5cef1
|
fix(redis): 生产路径禁止使用 KEYS,改用 SCAN,修复 Redis 阻塞导致巡检服务不可用
现象:巡检服务(dliip-patrol)容器连续约 9 小时 unhealthy;Tomcat 200 个请求线程
全部阻塞在 Lettuce(AsyncCommand.await 无超时,永不失败),容器 CPU 在 2%~500% 间跳变,
健康检查(curl 127.0.0.1:9901,10s 超时)连续 284 次超时。
根因:inspect-job 定时调用 /exec/makeCurrentDayTask,该接口遍历所有启用任务,对每个
"间隔执行"任务的每个执行时刻调用一次 parseTaskToRedis,而 parseTaskToRedis 内部用
redisService.keys(TASK_CODE@taskCode@*) 做全库扫描来清理策略 key。于是一次调用会对
Redis 发起成百上千次 KEYS:Redis 单线程,单次 KEYS 约 13ms 且返回体巨大(实测输出
8MB/s,单个客户端连接积压 321 条回复 / 5.8MB 输出缓冲),KEYS 执行期间其它所有客户端
的命令全部排队,实测 Redis 响应延迟 avg 287ms / max 1365ms,进而导致上游业务请求堆积、
Tomcat 线程池被占满、健康检查排不上队而超时。
修复:
1. RedisService 新增 scan(pattern[, count]),基于 SCAN 游标分批读取,不阻塞其它客户端;
原 keys() 标记 @Deprecated 并注明生产环境禁用。
2. 全仓库 11 处 redisService.keys() 调用点改为 scan()。
3. PatrolTaskExecController:抽出 cleanTaskKeysAfter(),策略 key 清理由"每个执行时刻一次"
改为"每个任务一次",一次 makeCurrentDayTask 的 KEYS 次数从成百上千次降到与任务数同量级。
4. PatrolTaskController:批量删除任务时原为 N 个 taskId 扫描 N 次全库,改为只扫描一次。
影响面:仅改变"按 pattern 查找 key"的实现方式(KEYS→SCAN,语义等价;SCAN 可能重复返回
同一个 key,对删除/遍历场景无影响),未改动任何业务判定逻辑。
|
2 weeks ago |
wangguangyuan
|
b2bb2e0164
|
fix:新增ivs获取rtspUrl地址接口用于sip视频流对接,及相机在线状态同步修改
|
3 months ago |
yinhuaiwei
|
506a8db8e6
|
fix: 优化IVS错误提示,可扩展
|
6 months ago |
wangguangyuan
|
0a9c219e82
|
fix:枪机摄像头设置预置位,云台控制报错修改成友好提示
|
9 months ago |
wangguangyuan
|
b588c3890e
|
视频监控500异常捕获
|
11 months ago |
htjcAdmin
|
bbf055feb1
|
/*视频预览点击一路视频播放之后点击录像按钮报500错误问题修改。*/
|
1 year ago |
htjcAdmin
|
d7b8ad1004
|
/*Redisson机制不起作用问题修改;红外画框设置值存储到数据库*/
|
1 year ago |
wangguangyuan
|
9c4279e2ff
|
金华站预置点位绑定,删除逻辑修改统一
|
1 year ago |
htjcAdmin
|
010f145f5e
|
/*灵州站红外流程打通*/
|
1 year ago |
wangguangyuan
|
b630dab9c3
|
印尼版本问题修改
|
1 year ago |
htjcAdmin
|
64fdda0a9a
|
/*
1. 任务开始以后,点位预置位详情查询接口bug修改:增加查询条件保证结果唯一性。
2. 无人机可见光联合任务下发失败bug:无法下发可见光任务。
*/
|
1 year ago |
htjcAdmin
|
5d9379abb1
|
/*
1. 为灵州站红外接入做准备的一些修改;
2.
中兴ivs:code不符合channelCode#domainCode的编码标准,导致浏览视频流界面报500异常问题修改。
*/
|
1 year ago |
htjcAdmin
|
b9eb08248a
|
/*
1. ivs模块日志优化;
2. ivs默认图片在测试环境生成一个真实的图片。
3. 灵州站红外适配;
*/
|
1 year ago |
wangguangyuan
|
0d5845c9d8
|
枪机设置虚拟预置位
|
1 year ago |
王寅
|
fc46a1c186
|
ivs1800红外流程调试
|
1 year ago |
王寅
|
c4689398f2
|
ivs1800红外任务添加规则
|
1 year ago |
王寅
|
b1dab54f5d
|
ivs1800红外添加规则更新
|
1 year ago |
htjcAdmin
|
56071eac7d
|
/*ivs调用接口兼容zte ivs平台,请求的时候去掉code字段;*/
|
1 year ago |
htjcAdmin
|
8927f7616b
|
/*生产点位管理-绑定可见光监测点出现500错误并且删除该生产点位问题修改:
1. patrol_preset_pos表里U_EQ_POS联合索引UNIQUE冲突后的提示改成该监测点已经绑定!
2. 绑定失败后不能去删除该生产点位。*/
|
2 years ago |
htjcAdmin
|
49455c0949
|
/*宜昌站点位增加问题解决;任务下发问题解决;*/
|
2 years ago |
WangGuangYuan
|
28e3abbc30
|
fix:武汉现场手动配置点位修改
|
2 years ago |
htjcAdmin
|
abe5695c51
|
/*生产点位管理增加点位并绑定可见光之后,增加任务无法选择增加的点位问题修改。*/
|
2 years ago |
lijw
|
53df35b079
|
解决冲突
|
2 years ago |
lijw
|
ed65319f47
|
现场联调问题修改
|
2 years ago |
htjcAdmin
|
cbbb1b4253
|
/*预置位点增加问题修改;*/
|
2 years ago |
htjcAdmin
|
3f1def3cf3
|
/*绑定可见光监控点。*/
|
2 years ago |
htjcAdmin
|
6cce7cb5a7
|
/*
1. 微服务日志打印输出到文件策略调整;
2. 宜昌站视频查看问题排查和解决。*/
|
2 years ago |
htjcAdmin
|
895273ca2c
|
/*智能巡视高级版本代码初次提交。*/
|
2 years ago |