170 lines
4.1 KiB
Markdown
170 lines
4.1 KiB
Markdown
# 定时任务使用指南
|
||
|
||
## 概述
|
||
彩票数据分析系统新增了定时任务功能,可以自动执行数据更新和拼盘推荐生成任务。
|
||
|
||
## 定时任务说明
|
||
|
||
### 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到项目仓库
|
||
|
||
---
|
||
|
||
**注意**: 定时任务功能需要系统持续运行,建议在服务器环境下使用。 |