From 4325de90e11d4ad9dd2e0166c04156ff32a0ee80 Mon Sep 17 00:00:00 2001 From: leslie Date: Fri, 25 Jul 2025 20:27:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=BD=AE=E8=AF=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/claudeAccountService.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/services/claudeAccountService.js b/src/services/claudeAccountService.js index 3428b80f..c93ed79d 100644 --- a/src/services/claudeAccountService.js +++ b/src/services/claudeAccountService.js @@ -444,11 +444,11 @@ class ClaudeAccountService { } // 如果没有映射或映射无效,选择新账户 - // 优先选择最近刷新过token的账户 + // 优先选择最久未使用的账户(负载均衡) const sortedAccounts = activeAccounts.sort((a, b) => { - const aLastRefresh = new Date(a.lastRefreshAt || 0).getTime(); - const bLastRefresh = new Date(b.lastRefreshAt || 0).getTime(); - return bLastRefresh - aLastRefresh; + const aLastUsed = new Date(a.lastUsedAt || 0).getTime(); + const bLastUsed = new Date(b.lastUsedAt || 0).getTime(); + return aLastUsed - bLastUsed; // 最久未使用的优先 }); const selectedAccountId = sortedAccounts[0].id; @@ -544,11 +544,11 @@ class ClaudeAccountService { return aRateLimitedAt - bRateLimitedAt; // 最早限流的优先 }); } else { - // 非限流账户按最近刷新时间排序 + // 非限流账户按最后使用时间排序(最久未使用的优先) candidateAccounts = candidateAccounts.sort((a, b) => { - const aLastRefresh = new Date(a.lastRefreshAt || 0).getTime(); - const bLastRefresh = new Date(b.lastRefreshAt || 0).getTime(); - return bLastRefresh - aLastRefresh; + const aLastUsed = new Date(a.lastUsedAt || 0).getTime(); + const bLastUsed = new Date(b.lastUsedAt || 0).getTime(); + return aLastUsed - bLastUsed; // 最久未使用的优先 }); }