Task #1610 修复:未来时间戳容忍偏差扩大到300s
根因:_TS_FUTURE_TOLERANCE_S=15秒太严格,OCR读到16:18:39的消息在16:18:58被处理时, 被误判为"未来时间戳"(差19s),导致消息被丢弃。 修复:将容忍偏差从15秒扩大到300秒(与max_age持平) - 300秒以内的时间戳偏差全部视为有效(含OCR延迟/队列积压) - 300秒以外的才判定为"未来时间"直接丢弃 效果:16:18:39的消息在16:18:58被正常识别为新鲜时间戳(19s<300s)
This commit is contained in:
+4
-3
@@ -6613,9 +6613,10 @@ class MessageMonitor:
|
||||
return False
|
||||
|
||||
# 未来时间戳容忍偏差(秒):同日内时间戳比系统时间晚超过此值 = 未到来,直接丢弃。
|
||||
# 容忍小量偏差避免误杀:OCR/聊天服务器时钟与系统时钟存在秒级差异,刚到的消息
|
||||
# 时间戳可能比系统时间晚几秒(如 14:41:00 消息在 14:40:58 被捕获)。
|
||||
_TS_FUTURE_TOLERANCE_S = 15
|
||||
# 容忍偏差与 max_age 持平(300s):OCR/聊天服务器时钟与系统时钟存在秒级差异,
|
||||
# 刚到的消息时间戳可能比系统时间晚几秒(如 14:41:00 消息在 14:40:58 被捕获),
|
||||
# 也可能因 OCR 延迟或队列积压导致时间戳差在 300s 内波动,应视为有效而非未来时间。
|
||||
_TS_FUTURE_TOLERANCE_S = 300
|
||||
|
||||
@staticmethod
|
||||
def _is_timestamp_old(ts_str: str, max_age: int = 300, skip_future_check: bool = False) -> bool:
|
||||
|
||||
Reference in New Issue
Block a user