diff --git a/app/service/beatmap_download_service.py b/app/service/beatmap_download_service.py index 6484fb5..c290277 100644 --- a/app/service/beatmap_download_service.py +++ b/app/service/beatmap_download_service.py @@ -141,8 +141,8 @@ class BeatmapDownloadService: # 根据不同端点类型判断健康状态 is_healthy = False if endpoint.name == "Sayobot": - # Sayobot 端点返回 304 (Not Modified) 表示正常 - is_healthy = response.status_code in [200, 304] + # Sayobot 端点返回 200, 302 (Redirect), 304 (Not Modified) 表示正常 + is_healthy = response.status_code in [200, 302, 304] else: # 其他端点返回 200 表示正常 is_healthy = response.status_code == 200 diff --git a/app/service/enhanced_interval_stats.py b/app/service/enhanced_interval_stats.py index a160869..f56f61c 100644 --- a/app/service/enhanced_interval_stats.py +++ b/app/service/enhanced_interval_stats.py @@ -5,7 +5,7 @@ from __future__ import annotations from dataclasses import dataclass -from datetime import datetime, timedelta +from datetime import datetime, timedelta, UTC import json from app.dependencies.database import get_redis, get_redis_message @@ -387,9 +387,7 @@ class EnhancedIntervalStatsManager: # 添加到历史记录 await _redis_exec(redis_sync.lpush, REDIS_ONLINE_HISTORY_KEY, json.dumps(history_point)) - # 只保留48个数据点(24小时,每30分钟一个点) await _redis_exec(redis_sync.ltrim, REDIS_ONLINE_HISTORY_KEY, 0, 47) - # 设置过期时间为26小时,确保有足够缓冲 await redis_async.expire(REDIS_ONLINE_HISTORY_KEY, 26 * 3600) logger.info( @@ -444,7 +442,8 @@ class EnhancedIntervalStatsManager: else: key_str = key time_part = key_str.split(":")[-1] # YYYYMMDD_HHMM格式 - key_time = datetime.strptime(time_part, "%Y%m%d_%H%M") + # 将时区无关的datetime转换为UTC时区感知的datetime进行比较 + key_time = datetime.strptime(time_part, "%Y%m%d_%H%M").replace(tzinfo=UTC) if key_time < cutoff_time: await redis_async.delete(key)