feat(task-service): 增强视频生成任务失败处理机制

支持 FAILURE 状态识别并添加循环结束时的状态检查,
防止极端情况下失败状态未被正确抛出异常的问题
```
This commit is contained in:
24024 2026-02-05 20:58:25 +08:00
parent 6cb6f9fc65
commit 5e1f037d4c

View File

@ -359,10 +359,14 @@ def process_video_generation(app, user_id, internal_task_id, payload, api_key, c
elif 'url' in poll_result: elif 'url' in poll_result:
video_url = poll_result['url'] video_url = poll_result['url']
break break
elif status in ['FAILED', 'ERROR']: elif status in ['FAILURE', 'FAILED', 'ERROR']:
raise Exception(f"视频生成失败: {poll_result.get('fail_reason') or poll_result.get('message') or '未知错误'}") reason = poll_result.get('fail_reason') or poll_result.get('message') or '未知错误'
raise Exception(f"视频生成失败: {reason}")
if not video_url: if not video_url:
if status in ['FAILURE', 'FAILED', 'ERROR']: # 防止循环结束时正好是失败状态但未抛出的极端情况
reason = poll_result.get('fail_reason') or poll_result.get('message') or '未知错误'
raise Exception(f"视频生成失败: {reason}")
raise Exception("超时未获取到视频地址") raise Exception("超时未获取到视频地址")
# 3. 持久化记录 # 3. 持久化记录