fix: 告警上传COS路径日期改为北京时间

alarm_upload_worker.py 中 COS object key 的日期和死信时间戳
从 UTC 改为北京时间(UTC+8),与服务端和日志时间一致。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-09 17:22:50 +08:00
parent 82d17a5266
commit d132a50ae0

View File

@@ -17,7 +17,9 @@ import json
import logging
import threading
import time
from datetime import datetime, timezone
from datetime import datetime, timezone, timedelta
_BEIJING_TZ = timezone(timedelta(hours=8))
from typing import Any, Dict, Optional
import redis
@@ -294,7 +296,7 @@ class AlarmUploadWorker:
return None
# 生成 Object Key: alarms/{device_id}/{yyyy-MM-dd}/{alarm_id}.jpg
date_str = datetime.now(timezone.utc).strftime("%Y-%m-%d")
date_str = datetime.now(_BEIJING_TZ).strftime("%Y-%m-%d")
object_key = f"alarms/{device_id}/{date_str}/{alarm_id}.jpg"
try:
@@ -392,7 +394,7 @@ class AlarmUploadWorker:
if retry_count > max_retry:
# 超过最大重试次数,写入死信队列
alarm_data["_dead_reason"] = error
alarm_data["_dead_at"] = datetime.now(timezone.utc).isoformat()
alarm_data["_dead_at"] = datetime.now(_BEIJING_TZ).isoformat()
dead_json = json.dumps(alarm_data, ensure_ascii=False)
self._redis.lpush(REDIS_KEY_ALARM_DEAD, dead_json)
self._stats["dead_lettered"] += 1