diff --git a/services/task_service.py b/services/task_service.py index c2464de..4db5f9b 100644 --- a/services/task_service.py +++ b/services/task_service.py @@ -359,10 +359,14 @@ def process_video_generation(app, user_id, internal_task_id, payload, api_key, c elif 'url' in poll_result: video_url = poll_result['url'] break - elif status in ['FAILED', 'ERROR']: - raise Exception(f"视频生成失败: {poll_result.get('fail_reason') or poll_result.get('message') or '未知错误'}") + elif status in ['FAILURE', 'FAILED', 'ERROR']: + reason = poll_result.get('fail_reason') or poll_result.get('message') or '未知错误' + raise Exception(f"视频生成失败: {reason}") 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("超时未获取到视频地址") # 3. 持久化记录