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

170 lines
4.1 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. 数据更新任务
- **执行时间**: 每天早上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到项目仓库
---
**注意**: 定时任务功能需要系统持续运行,建议在服务器环境下使用。