From d132a50ae021c8e0cf8510d54677f402d5c3380b Mon Sep 17 00:00:00 2001 From: 16337 <1633794139@qq.com> Date: Mon, 9 Mar 2026 17:22:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=91=8A=E8=AD=A6=E4=B8=8A=E4=BC=A0COS?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E6=97=A5=E6=9C=9F=E6=94=B9=E4=B8=BA=E5=8C=97?= =?UTF-8?q?=E4=BA=AC=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit alarm_upload_worker.py 中 COS object key 的日期和死信时间戳 从 UTC 改为北京时间(UTC+8),与服务端和日志时间一致。 Co-Authored-By: Claude Opus 4.6 --- core/alarm_upload_worker.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/alarm_upload_worker.py b/core/alarm_upload_worker.py index 2637d16..c473a96 100644 --- a/core/alarm_upload_worker.py +++ b/core/alarm_upload_worker.py @@ -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