fix(gpu): #1970 重写 MuseTalk 服务端 + 客户端超时取消,修复 8 项工程 bug #1992
Reference in New Issue
Block a user
Delete Branch "fix/1970-musetalk-server-rewrite"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景
GPU Worker 端到端链路已通,但 MuseTalk 推理环节存在多个工程 bug:Flask 单线程阻塞、fps=0 除零崩溃、ffmpeg 失败不检查、无并发锁导致 OOM、无推理超时、临时文件不清理、无人脸不报错、上传无大小限制。用户已在 RTX2060 定位根因。
修改
服务端(新建 deploy/gpu_worker/musetalk_server.py)
app.run(threaded=True)让推理期间 /health 仍可达_get_video_fps()兜底到default_fps=25_run_ffmpeg()封装subprocess.run(check=True)+ timeout,失败抛 RuntimeErrorthreading.Lock()非阻塞获取,第二请求立即 503thread.join(timeout=inference_timeout)默认 600s,超时返回 504finally块清理 task_dir客户端(deploy/gpu_worker/gpu_worker.py 配套)
_call_musetalk超时后 POST/cancel终止服务端僵尸推理(ok, duration, err, retryable),仅瞬时错误(连接失败/超时/5xx)重试TASK_MAX_RETRY2→1,4xx/短视频等确定性失败直接上报测试
部署提醒
已知
Staging E2E 近期持续失败(登录 429 限流),属预存环境问题,与本次代码无关。
🚀 预览环境已部署
67a80c6895to32473485d7🗑️ 预览环境已清理
PR #1992 已关闭或合并,对应的预览环境已被清理。