# 轮询查询调度总结 ## 概述 所有后端轮询查询任务已统一设置为每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分钟进行一次轮询查询,查询任务队列中的任务状态,确保任务状态的及时更新。