mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
fix(usage): 抽取 ElapsedTimeText 组件、缩短缓存 TTL 提升实时性,修复 _KeyCandidate slots
- 将 UsageRecordsTable 中的内联计时逻辑抽取为独立的 ElapsedTimeText 组件 - usage records 缓存 TTL 从 15s 降为 3s,全局自动刷新间隔从 5s 改为 3s 并默认开启 - 补充 PoolManager._KeyCandidate 缺失的 __slots__ 字段
This commit is contained in:
@@ -843,7 +843,7 @@ class AdminUsageRecordsAdapter(AdminApiAdapter):
|
||||
|
||||
@cache_result(
|
||||
key_prefix="admin:usage:records",
|
||||
ttl=CacheTTL.ADMIN_USAGE_RECORDS,
|
||||
ttl=3, # 使用记录页强调实时性,避免 15s 缓存导致列表滞后
|
||||
user_specific=False,
|
||||
vary_by=[
|
||||
"start_date",
|
||||
|
||||
@@ -771,7 +771,7 @@ class GetUsageAdapter(AuthenticatedApiAdapter):
|
||||
|
||||
@cache_result(
|
||||
key_prefix="user:usage:records",
|
||||
ttl=CacheTTL.ADMIN_USAGE_RECORDS,
|
||||
ttl=3, # 使用记录页强调实时性,避免 15s 缓存导致列表滞后
|
||||
user_specific=True,
|
||||
vary_by=[
|
||||
"time_range.start_date",
|
||||
|
||||
@@ -302,12 +302,20 @@ class PoolManager:
|
||||
)
|
||||
|
||||
class _KeyCandidate:
|
||||
__slots__ = ("key", "is_skipped", "skip_reason")
|
||||
__slots__ = (
|
||||
"key",
|
||||
"is_skipped",
|
||||
"skip_reason",
|
||||
"_pool_extra_data",
|
||||
"_pool_scheduling_trace",
|
||||
)
|
||||
|
||||
def __init__(self, key: ProviderAPIKey) -> None:
|
||||
self.key = key
|
||||
self.is_skipped = False
|
||||
self.skip_reason: str | None = None
|
||||
self._pool_extra_data: dict | None = None
|
||||
self._pool_scheduling_trace: PoolSchedulingTrace | None = None
|
||||
|
||||
wrappers = [_KeyCandidate(k) for k in keys]
|
||||
reordered_wrappers = await self.reorder_candidates(session_uuid, wrappers) # type: ignore[arg-type]
|
||||
|
||||
Reference in New Issue
Block a user