# 定时任务使用指南 ## 概述 彩票数据分析系统新增了定时任务功能,可以自动执行数据更新和拼盘推荐生成任务。 ## 定时任务说明 ### 1. 数据更新任务 - **执行时间**: 每天早上6点 - **功能**: 自动从API获取最新开奖数据 - **更新内容**: - 双色球最新开奖数据 - 大乐透最新开奖数据 - 检查历史投注的中奖情况 - **日志文件**: `backend/lottery_scheduler.log` ### 2. 拼盘推荐任务 - **执行时间**: 每天下午5点 - **功能**: 自动生成今日拼盘推荐 - **生成内容**: - 使用集成预测算法 - 生成4注推荐号码 - 保存到数据库供前端显示 - **日志文件**: `backend/lottery_scheduler.log` ## 启动方式 ### 方式一:一键启动(推荐) ```bash python start_system.py ``` 启动时会询问是否启动定时任务,选择"1"即可。 ### 方式二:手动启动 ```bash cd backend python scheduler.py ``` ### 方式三:后台运行 ```bash cd backend nohup python scheduler.py > scheduler.log 2>&1 & ``` ## 查看任务状态 ### 1. 前端查看 - 打开一键下单页面 - 查看"定时任务状态"区域 - 显示下次执行时间和今日推荐状态 ### 2. 日志查看 ```bash # 实时查看日志 tail -f backend/lottery_scheduler.log # 查看最近100行日志 tail -n 100 backend/lottery_scheduler.log # 搜索特定任务的日志 grep "早上6点" backend/lottery_scheduler.log grep "下午5点" backend/lottery_scheduler.log ``` ### 3. 进程查看 ```bash # 查看定时任务进程 ps aux | grep scheduler.py # 查看进程ID pgrep -f scheduler.py ``` ## 常见问题 ### Q1: 定时任务没有执行? **A**: 检查以下几点: 1. 确保定时任务进程正在运行 2. 检查日志文件是否有错误信息 3. 确认系统时间正确 4. 检查数据库连接是否正常 ### Q2: 如何修改定时任务时间? **A**: 编辑 `backend/scheduler.py` 文件中的时间设置: ```python # 修改为其他时间 schedule.every().day.at("07:00").do(self.update_lottery_data_job) # 改为早上7点 schedule.every().day.at("18:00").do(self.generate_daily_recommendations_job) # 改为下午6点 ``` ### Q3: 如何停止定时任务? **A**: 1. 找到进程ID:`pgrep -f scheduler.py` 2. 停止进程:`kill <进程ID>` 3. 或者使用Ctrl+C停止(如果在前台运行) ### Q4: 今日推荐没有生成? **A**: 检查以下几点: 1. 定时任务是否正常运行 2. 是否有足够的历史数据(建议至少100期) 3. 预测模型是否训练完成 4. 查看日志文件获取错误信息 ### Q5: 如何手动执行任务? **A**: 1. **手动更新数据**: ```bash cd backend python update_lottery.py ``` 2. **手动生成推荐**: - 在前端一键下单页面点击"来一份拼盘"按钮 - 或者调用API接口 ## 配置说明 ### 日志配置 日志文件位置:`backend/lottery_scheduler.log` 日志级别:INFO 日志格式:时间 - 级别 - 消息 ### 数据库配置 确保数据库连接正常,定时任务需要访问数据库进行数据更新和推荐生成。 ### API配置 定时任务使用聚合数据API获取开奖数据,确保API密钥有效。 ## 监控建议 ### 1. 定期检查日志 建议每天检查一次日志文件,确保任务正常执行。 ### 2. 监控磁盘空间 日志文件会持续增长,建议定期清理或设置日志轮转。 ### 3. 监控数据库 确保数据库有足够空间存储新数据。 ### 4. 监控网络 确保服务器网络连接正常,能够访问外部API。 ## 故障排除 ### 1. 任务执行失败 - 查看日志文件获取详细错误信息 - 检查数据库连接 - 检查网络连接 - 检查API密钥是否有效 ### 2. 推荐生成失败 - 检查历史数据是否充足 - 检查预测模型是否正常 - 查看预测服务日志 ### 3. 数据更新失败 - 检查API连接 - 检查API密钥 - 检查数据库权限 ## 联系支持 如果遇到问题,请: 1. 查看日志文件获取错误信息 2. 检查常见问题部分 3. 提交Issue到项目仓库 --- **注意**: 定时任务功能需要系统持续运行,建议在服务器环境下使用。