mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 09:38:02 +00:00
feat: 添加账户状态监控和自动恢复机制
- 实现账户健康度监控系统,支持30分钟内错误率检测 - 添加自动恢复机制,失败账户在30分钟后自动尝试恢复 - 优化账户选择策略,优先选择健康账户 - 增强Redis键管理,添加账户状态和错误追踪功能 - 改进Gemini服务错误处理和重试逻辑 - 新增standardGeminiRoutes标准化路由支持 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -215,6 +215,39 @@ class RateLimitCleanupService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 检查并恢复因5小时限制被自动停止的账号
|
||||
try {
|
||||
const fiveHourResult = await claudeAccountService.checkAndRecoverFiveHourStoppedAccounts()
|
||||
|
||||
if (fiveHourResult.recovered > 0) {
|
||||
// 将5小时限制恢复的账号也加入到已清理账户列表中,用于发送通知
|
||||
for (const account of fiveHourResult.accounts) {
|
||||
this.clearedAccounts.push({
|
||||
platform: 'Claude',
|
||||
accountId: account.id,
|
||||
accountName: account.name,
|
||||
previousStatus: '5hour_limited',
|
||||
currentStatus: 'active',
|
||||
windowInfo: account.newWindow
|
||||
})
|
||||
}
|
||||
|
||||
// 更新统计数据
|
||||
result.checked += fiveHourResult.checked
|
||||
result.cleared += fiveHourResult.recovered
|
||||
|
||||
logger.info(
|
||||
`🕐 Claude 5-hour limit recovery: ${fiveHourResult.recovered}/${fiveHourResult.checked} accounts recovered`
|
||||
)
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('Failed to check and recover 5-hour stopped Claude accounts:', error)
|
||||
result.errors.push({
|
||||
type: '5hour_recovery',
|
||||
error: error.message
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('Failed to cleanup Claude accounts:', error)
|
||||
result.errors.push({ error: error.message })
|
||||
|
||||
Reference in New Issue
Block a user