Files
AIGC/demo/VIDEO_GENERATION_DIAGNOSTIC.md
AIGC Developer 8c55f9f376 feat: 完成代码逻辑错误修复和任务清理系统实现
主要更新:
- 修复了所有主要的代码逻辑错误
- 实现了完整的任务清理系统
- 添加了系统设置页面的任务清理管理功能
- 修复了API调用认证问题
- 优化了密码加密和验证机制
- 统一了错误处理模式
- 添加了详细的文档和测试工具

新增功能:
- 任务清理管理界面
- 任务归档和清理日志
- API监控和诊断工具
- 完整的测试套件

技术改进:
- 修复了Repository方法调用错误
- 统一了模型方法调用
- 改进了类型安全性
- 优化了代码结构和可维护性
2025-10-27 10:46:49 +08:00

150 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 视频生成失败诊断报告
## 问题分析
根据代码分析,视频生成失败可能的原因包括:
### 1. 图片传输问题
#### 可能的问题点:
- **图片文件路径错误**: 相对路径无法找到文件
- **图片文件不存在**: 上传后文件丢失或路径错误
- **图片格式不支持**: 外部API不支持特定格式
- **图片大小超限**: 超过API限制
#### 检查方法:
```bash
# 检查队列状态
curl -X GET http://localhost:8080/api/diagnostic/queue-status
# 检查特定任务的图片文件
curl -X GET http://localhost:8080/api/diagnostic/check-image/{taskId}
# 获取失败任务列表
curl -X GET http://localhost:8080/api/diagnostic/failed-tasks
```
### 2. 队列处理问题
#### 可能的问题点:
- **任务状态更新失败**: 数据库事务问题
- **外部API调用失败**: 网络或认证问题
- **积分系统错误**: 积分冻结/扣除失败
- **任务超时**: 处理时间过长
#### 检查方法:
```bash
# 检查队列状态统计
curl -X GET http://localhost:8080/api/diagnostic/queue-status
```
### 3. 外部API问题
#### 可能的问题点:
- **API认证失败**: API密钥无效或过期
- **API服务不可用**: 外部服务宕机
- **请求格式错误**: 参数格式不符合API要求
- **响应解析失败**: API返回格式变化
## 诊断步骤
### 1. 检查队列状态
```bash
GET /api/diagnostic/queue-status
```
**返回信息**
- 总任务数
- 待处理任务数
- 处理中任务数
- 已完成任务数
- 失败任务数
- 超时任务数
### 2. 检查图片文件
```bash
GET /api/diagnostic/check-image/{taskId}
```
**返回信息**
- 图片文件路径
- 文件是否存在
- 文件大小
- 文件是否可读
- 检查的路径列表
### 3. 获取失败任务详情
```bash
GET /api/diagnostic/failed-tasks
```
**返回信息**
- 失败任务列表
- 错误信息
- 失败时间
### 4. 重试失败任务
```bash
POST /api/diagnostic/retry-task/{taskId}
```
**功能**
- 重置任务状态为待处理
- 清除错误信息
- 重新加入队列
## 常见问题解决方案
### 1. 图片文件不存在
**问题**: `图片文件不存在: uploads/taskId/first_frame.jpg`
**解决**
- 检查上传目录权限
- 确认文件路径正确
- 检查文件是否被删除
### 2. 外部API调用失败
**问题**: `API提交失败: Connection timeout`
**解决**
- 检查网络连接
- 验证API密钥
- 检查API服务状态
### 3. 积分系统错误
**问题**: `可用积分不足`
**解决**
- 检查用户积分
- 验证积分冻结逻辑
- 重置用户积分
### 4. 任务超时
**问题**: `任务处理超时`
**解决**
- 检查外部API响应时间
- 调整超时设置
- 优化图片处理
## 监控建议
### 1. 实时监控
- 监控队列状态变化
- 跟踪失败任务数量
- 检查图片文件完整性
### 2. 日志分析
- 查看任务处理日志
- 分析错误信息模式
- 监控API调用成功率
### 3. 性能优化
- 优化图片处理流程
- 改进错误处理机制
- 增强重试逻辑
## 总结
通过诊断工具可以快速定位视频生成失败的原因:
1. **图片传输问题** - 使用 `/check-image/{taskId}` 检查
2. **队列处理问题** - 使用 `/queue-status` 监控
3. **外部API问题** - 查看失败任务详情
4. **系统配置问题** - 检查日志和配置
建议定期使用这些诊断接口来监控系统健康状态,及时发现和解决问题。