mottery/定时任务使用指南.md

4.1 KiB
Raw Blame History

定时任务使用指南

概述

彩票数据分析系统新增了定时任务功能,可以自动执行数据更新和拼盘推荐生成任务。

定时任务说明

1. 数据更新任务

  • 执行时间: 每天早上6点
  • 功能: 自动从API获取最新开奖数据
  • 更新内容:
    • 双色球最新开奖数据
    • 大乐透最新开奖数据
    • 检查历史投注的中奖情况
  • 日志文件: backend/lottery_scheduler.log

2. 拼盘推荐任务

  • 执行时间: 每天下午5点
  • 功能: 自动生成今日拼盘推荐
  • 生成内容:
    • 使用集成预测算法
    • 生成4注推荐号码
    • 保存到数据库供前端显示
  • 日志文件: backend/lottery_scheduler.log

启动方式

方式一:一键启动(推荐)

python start_system.py

启动时会询问是否启动定时任务,选择"1"即可。

方式二:手动启动

cd backend
python scheduler.py

方式三:后台运行

cd backend
nohup python scheduler.py > scheduler.log 2>&1 &

查看任务状态

1. 前端查看

  • 打开一键下单页面
  • 查看"定时任务状态"区域
  • 显示下次执行时间和今日推荐状态

2. 日志查看

# 实时查看日志
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. 进程查看

# 查看定时任务进程
ps aux | grep scheduler.py

# 查看进程ID
pgrep -f scheduler.py

常见问题

Q1: 定时任务没有执行?

A: 检查以下几点:

  1. 确保定时任务进程正在运行
  2. 检查日志文件是否有错误信息
  3. 确认系统时间正确
  4. 检查数据库连接是否正常

Q2: 如何修改定时任务时间?

A: 编辑 backend/scheduler.py 文件中的时间设置:

# 修改为其他时间
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. 找到进程IDpgrep -f scheduler.py
  2. 停止进程:kill <进程ID>
  3. 或者使用Ctrl+C停止如果在前台运行

Q4: 今日推荐没有生成?

A: 检查以下几点:

  1. 定时任务是否正常运行
  2. 是否有足够的历史数据建议至少100期
  3. 预测模型是否训练完成
  4. 查看日志文件获取错误信息

Q5: 如何手动执行任务?

A:

  1. 手动更新数据:

    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到项目仓库

注意: 定时任务功能需要系统持续运行,建议在服务器环境下使用。