资源定时清理流程
2022-12-29 19:30:56 2 举报
资源定时清理流程
作者其他创作
大纲/内容
分页查询,每页1000条记录
根据alarm_id判断,是否有手动录像记录
过滤出每条记录的alarm_id
查询gd_alarm_file中最旧的4小时数据(过滤掉录像锁定被锁定的记录)的总条数
采用分页,多次取出id
Y
每3小时判断,磁盘阈值是否超过50%
N
遍历查询出每条记录所包含的4种url,添加到list中
查询gd_alarm_file中最旧的2小时数据(过滤掉录像锁定被锁定的记录)的总条数
查询redis队列长度
根据alarm_begin_time顺序排列查询
结束
将记录提交为线程任务
清除redis队列缓存
将所有任务的alarm_id添加到redis缓存队列中
超过1000
超过1000条
用于后续删除gd_alarm_file记录,这个地方删除,会影响前面的分页查询结果,记录数量不确定,添加到redis缓存中,使用堆外内存,防止jvm oom
定时检测磁盘容量是否告警
删除对应的gd_video_handle的记录
删除对应的gd_inspection_result的记录
根据存储设置的阈值,每5min判断一次是否超过该阈值
根据alarm_id判断,是否有智能巡检记录
开始
根据查询出的id列表,批量删除mysql记录
是否在清理中
alarm_ir_file_url、alarm_vl_file_snap_url、alarm_vl_file_url、alarm_ir_file_snap_url
0 条评论
下一页