主要更新: - 修复了所有主要的代码逻辑错误 - 实现了完整的任务清理系统 - 添加了系统设置页面的任务清理管理功能 - 修复了API调用认证问题 - 优化了密码加密和验证机制 - 统一了错误处理模式 - 添加了详细的文档和测试工具 新增功能: - 任务清理管理界面 - 任务归档和清理日志 - API监控和诊断工具 - 完整的测试套件 技术改进: - 修复了Repository方法调用错误 - 统一了模型方法调用 - 改进了类型安全性 - 优化了代码结构和可维护性
58 lines
2.0 KiB
Markdown
58 lines
2.0 KiB
Markdown
# 轮询查询调度总结
|
||
|
||
## 概述
|
||
所有后端轮询查询任务已统一设置为每2分钟执行一次,确保系统按您的要求进行轮询查询。
|
||
|
||
## 轮询任务配置
|
||
|
||
### 1. TaskQueueScheduler.java
|
||
- **processPendingTasks()**: `@Scheduled(fixedRate = 120000)` - 每2分钟处理待处理任务
|
||
- **checkTaskStatuses()**: `@Scheduled(fixedRate = 120000)` - 每2分钟检查任务状态
|
||
- **cleanupExpiredTasks()**: `@Scheduled(cron = "0 0 2 * * ?")` - 每天凌晨2点清理过期任务
|
||
- **cleanupExpiredFailedWorks()**: `@Scheduled(cron = "0 0 3 * * ?")` - 每天凌晨3点清理过期失败作品
|
||
|
||
### 2. TaskStatusPollingService.java
|
||
- **pollTaskStatuses()**: `@Scheduled(fixedRate = 120000)` - 每2分钟轮询任务状态
|
||
|
||
### 3. PollingQueryService.java
|
||
- **executePollingQuery()**: `@Scheduled(fixedRate = 120000)` - 每2分钟执行轮询查询
|
||
|
||
## 时间间隔说明
|
||
|
||
### 轮询查询任务(每2分钟)
|
||
- **间隔**: 120000毫秒 = 2分钟
|
||
- **功能**: 查询任务队列中的任务状态
|
||
- **执行内容**:
|
||
- 查找正在处理的任务
|
||
- 调用外部API查询状态
|
||
- 更新任务状态(完成/失败/超时)
|
||
- 处理积分扣除和返还
|
||
|
||
### 清理任务(每天执行)
|
||
- **过期任务清理**: 每天凌晨2点
|
||
- **失败作品清理**: 每天凌晨3点
|
||
|
||
## 轮询流程
|
||
|
||
```
|
||
每2分钟 → 自动执行 → 查询任务队列 → 检查任务状态 → 更新状态 → 记录日志
|
||
```
|
||
|
||
## 确认信息
|
||
|
||
✅ **所有轮询查询任务都是2分钟间隔**
|
||
✅ **没有30秒或其他短间隔的轮询任务**
|
||
✅ **系统将每2分钟查询任务队列中的任务**
|
||
✅ **轮询查询功能已完整实现**
|
||
|
||
## 总结
|
||
|
||
系统现在完全按照您的要求配置:
|
||
- **轮询间隔**: 每2分钟
|
||
- **查询对象**: 任务队列中的任务
|
||
- **执行内容**: 状态查询和更新
|
||
- **日志记录**: 完整的操作日志
|
||
|
||
后端将每2分钟进行一次轮询查询,查询任务队列中的任务状态,确保任务状态的及时更新。
|
||
|