7496a6fe04ccffe3eb56e12a0d156e61de2162a7
问题描述: - 用户反馈告警持续时长只有48秒、103秒 - 预期:离岗倒计时5分钟后才告警,持续时长应>5.5分钟 - 根因:代码在"离岗确认"后立即触发告警,缺少倒计时环节 业务流程: 1. 上岗确认期:10秒(confirm_on_duty_sec) 2. 离岗确认期:30秒(confirm_leave_sec) 3. 离岗倒计时:300秒(leave_countdown_sec)← 新增 4. 告警冷却期:600秒(cooldown_sec) 修改内容: 1. LeavePostAlgorithm 构造函数 - 新增 leave_countdown_sec 参数(默认300秒) - 新增 _off_duty_start_time 状态变量 - 新增 _alarm_triggered 告警标志 2. LEAVING → OFF_DUTY 状态转换(Line 197-207) - 移除立即告警逻辑 - 进入OFF_DUTY后仅记录时间,开始倒计时 3. OFF_DUTY 状态处理(Line 209-258) - 新增倒计时检查:off_duty_elapsed >= leave_countdown_sec - 倒计时结束才触发告警 - 人员回岗时检查是否已告警,决定是否发送resolve事件 4. 算法实例创建(Line 600-607, 701-708) - 从配置读取 leave_countdown_sec(默认300秒) 5. reset() 方法 - 清理新增状态变量 影响范围: - 告警时机:从离岗确认后立即告警 → 倒计时结束后告警 - 持续时长:现在必然 >= 330秒(30s确认 + 300s倒计时) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Description
边缘推理层
Languages
Python
100%