feat: implement S2A authentication flow, Codex token management, and related utilities.

This commit is contained in:
2026-02-07 21:53:12 +08:00
parent eaf6073cb2
commit b7622070e6
2 changed files with 8 additions and 4 deletions

View File

@@ -785,10 +785,14 @@ func processSingleTeam(idx int, req TeamProcessRequest) (result TeamProcessResul
return false
}
if attempt > 0 {
// 重试前等待一段时间,避免密集请求
// 重试前等待一段时间,避免密集请求(可被停止信号中断)
retryDelay := time.Duration(3+attempt*2) * time.Second
logger.Warning(fmt.Sprintf("%s 入库重试 (第%d次, 等待 %ds)", memberLogPrefix, attempt+1, int(retryDelay.Seconds())), memberEmail, "team")
time.Sleep(retryDelay)
select {
case <-time.After(retryDelay):
case <-teamProcessState.stopCh:
return false
}
}
// 每次尝试都从代理池获取新代理(避免复用失败代理)

View File

@@ -55,9 +55,9 @@ export function useTeamStatus(pollInterval = 3000) {
const processData = data.data as TeamProcessStatus
newStatus.isProcessing = processData.running
newStatus.processingTeams = processData.running
? processData.total_teams - processData.completed
? Math.max(0, processData.total_teams - processData.completed)
: 0
newStatus.processedTeams = processData.completed
newStatus.processedTeams = Math.min(processData.completed, processData.total_teams)
}
}