Compare commits

...

1 Commits

Author SHA1 Message Date
xiaoxia f34ec708a6 fix(ai-avatar): 对口型/渲染轮询增加超时保护
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 53s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 54s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m7s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m10s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m41s
AI Code Review / AI Code Review (pull_request) Successful in 6m55s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 9m26s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m30s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 11m46s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 29m50s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 4s
对口型最多轮询5分钟(100次×3s),渲染最多轮询10分钟(200次×3s),
超时后停止轮询并显示错误提示,避免任务异常时前端无限轮询卡死。
2026-09-11 22:28:14 +08:00
@@ -233,7 +233,17 @@ const AiAvatarPage: React.FC = () => {
setRenderErrorMessage("")
if (renderTimerRef.current) clearInterval(renderTimerRef.current)
let renderPollCount = 0
const RENDER_MAX_POLLS = 200 // 最多轮询 10 分钟(200 次 × 3s)
renderTimerRef.current = setInterval(async () => {
renderPollCount++
if (renderPollCount > RENDER_MAX_POLLS) {
if (renderTimerRef.current) clearInterval(renderTimerRef.current)
renderTimerRef.current = null
setRenderStatus("failed")
setRenderErrorMessage("渲染超时(超过10分钟),请稍后在任务历史查看结果")
return
}
try {
const updated = await getRenderJob(job.id)
setRenderProgress(updated.progress ?? 0)