Files
xiaoxia-saas/apps
saas-backend 150dc17273
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m32s
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
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 2s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 2m16s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m51s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m16s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 49s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 32s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 143h34m42s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 143h35m6s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 143h35m8s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 142h59m54s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 142h59m55s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 143h0m21s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 143h0m21s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 143h34m29s
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 143h0m23s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 142h59m42s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 143h0m18s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 142h59m41s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 142h59m46s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 143h0m19s
fix(ai-avatar): 修复智能封面接口 502,增大抽帧等待时间+连接池下载+video_url 重签
问题根因:
1. MediaKit 抽帧轮询参数过短(poll_interval=2s, max_poll_attempts=5,最多等 10s),大视频或排队场景下 MediaKit 尚未完成即放弃
2. 帧图片串行下载,每次新建 TCP 连接(httpx.get),5帧×15s 最坏 75s,加上 persist 再下载 30s,总耗时可达 105s
3. 前端传入的 video_url 可能是 OSS 私有桶裸 URL,MediaKit 无法访问导致抽帧失败

修复:
- MediaKit 抽帧参数:poll_interval 2s→3s,max_poll_attempts 5→20(最多等 60s),max_retries 0→1
- 帧下载改用 httpx.Client 连接池复用,减少连接建立开销
- 新增 _sign_video_url_for_mediakit:自动检测自家 OSS URL 并重签 7 天有效期
- 路由层增加 try/except 包裹 generate_smart_cover,异常时返回 fallback 而非 502
- 增加关键路径日志

测试:新增 3 个单测(video_url 重签、外部 URL 透传、轮询参数校验),共 15 测试全过
2026-09-10 16:23:16 +08:00
..