fix(gpu): #1970 MuseTalk worker 推理期心跳/超时900/重试收敛/短视频前置失败 #1990
Reference in New Issue
Block a user
Delete Branch "fix/1970-gpu-worker-heartbeat-timeout"
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 推理环节有四个问题(RTX2060 6G,22s 720p 视频推理 >5min):
GPU_TASK_TIMEOUT_SECONDS=300与 workerREQUEST_TIMEOUT=300太短修改
超时
gpu_task_timeout_seconds默认 300→900(base.py / .env.example / .env.staging / .env.production)REQUEST_TIMEOUT默认 300→900,与服务端对齐推理期任务心跳
TaskHeartbeatdaemon 线程:_handle_task开始即启动,每 30s(TASK_HEARTBEAT_INTERVAL)POST/gpu/register携带task_id,覆盖下载/推理/上报全过程,结束 stoptask_id;service_touch_task_heartbeat只刷新属于该 worker 且仍 processing 的任务心跳;已完成/已被超时回收重派/不存在的过期心跳静默忽略重试收敛
TASK_MAX_RETRY2→1,且仅对瞬时错误(连接失败/超时/HTTP 5xx,retryable=True)重试;4xx、结果过小等确定性失败不本地重试,直接上报服务端短视频前置拦截
<3s(MIN_VIDEO_DURATION_SECONDS)直接上报 failed视频过短(x.xxs < 3s),MuseTalk 无法处理,不调推理;ffprobe 不可用(0.0)不拦截避免误杀测试
pytest tests/unit:15839 passed, 28 skipped;black/isort/ruff 通过部署提醒(worker 本机 192.168.0.193)
服务端随 develop 自动部署;worker 脚本需更新(替换 gpu_worker.py + 重启),新默认值无需改 .env;如旧 .env 里显式写了
REQUEST_TIMEOUT=300/TASK_MAX_RETRY=2需删掉或改成 900/1。已知
Staging E2E 近期持续因登录 429 限流/页面超时失败(前几个 develop 提交同样),属预存环境问题,与本次代码无关。
🚀 预览环境已部署
🗑️ 预览环境已清理
PR #1990 已关闭或合并,对应的预览环境已被清理。