bindbox-game/docs/优化抖音定时任务/TODO_优化抖音定时任务.md
2026-02-18 23:23:34 +08:00

122 lines
3.2 KiB
Markdown

# TODO - 优化抖音定时任务
## 🔧 部署待办事项
### 1. 重启服务 (必须)
```bash
# 方式 1: 使用 systemctl
systemctl restart bindbox-game
# 方式 2: 手动重启
pkill bindbox-game
./bindbox-game &
```
### 2. 验证定时任务 (必须)
```bash
# 查看日志确认定时任务启动
tail -f logs/app.log | grep "定时"
# 预期看到:
# [抖店定时同步] 定时任务已启动 直播奖品=每5分钟 订单同步=每1小时 退款同步=每2小时
```
### 3. 测试管理接口 (可选)
```bash
# 获取管理员 token (替换为实际 token)
TOKEN="your_admin_token_here"
# 测试手动全量同步
curl -X POST http://localhost:8080/api/admin/douyin/sync-all \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"duration_hours": 1}'
# 预期返回:
# {"message":"全量同步成功 (同步范围: 1小时)","debug_info":"..."}
```
---
## ⚙️ 配置说明
### 无需额外配置
本次优化**不需要**修改任何配置文件,代码中已硬编码定时频率:
- 直播奖品: 5 分钟
- 订单同步: 1 小时
- 退款同步: 2 小时
### 如需调整频率 (可选)
如果需要调整定时频率,修改 `internal/service/douyin/scheduler.go`:
```go
// 第 28-30 行
ticker5min := time.NewTicker(5 * time.Minute) // 改为其他值
ticker1h := time.NewTicker(1 * time.Hour) // 改为其他值
ticker2h := time.NewTicker(2 * time.Hour) // 改为其他值
```
---
## 📊 监控建议
### 1. 观察日志 (推荐)
```bash
# 持续观察定时任务执行情况
tail -f logs/app.log | grep -E "定时|同步|发放"
```
### 2. 监控指标 (可选)
如果有监控系统,建议监控:
- 抖音 API 调用次数 (应降低 80%+)
- 定时任务执行时长
- 直播奖品发放延迟
- 订单同步延迟
---
## ❓ 常见问题
### Q1: 订单同步延迟会影响用户吗?
**A**: 不会。用户在前端点击"刷新待抽奖订单"时会触发按需同步 (5 秒限流),体验不受影响。
### Q2: 如果需要紧急同步怎么办?
**A**: 管理员可以通过管理后台手动触发同步:
- POST /api/admin/douyin/sync-all (全量同步)
- POST /api/admin/douyin/sync-refund (退款同步)
- POST /api/admin/douyin/grant-prizes (发放奖品)
### Q3: 如何回滚到优化前?
**A**: 执行以下命令:
```bash
git checkout HEAD~1 internal/service/douyin/scheduler.go
git checkout HEAD~1 internal/api/admin/douyin_orders_admin.go
git checkout HEAD~1 internal/router/router.go
go build .
systemctl restart bindbox-game
```
### Q4: 首次启动会很慢吗?
**A**: 首次启动会同步最近 48 小时的订单,可能需要 1-3 分钟。后续启动正常。
---
## ✅ 验收清单
部署完成后,请确认以下项目:
- [ ] 服务已重启
- [ ] 日志显示 "定时任务已启动"
- [ ] 每 5 分钟看到 "发放直播奖品" 日志
- [ ] 每 1 小时看到 "全量订单同步" 日志
- [ ] 管理接口可正常调用 (可选测试)
- [ ] 前端刷新订单功能正常
---
## 📞 支持
如有问题,请查看:
1. [验收文档](./ACCEPTANCE_优化抖音定时任务.md) - 详细使用指南
2. [架构设计](./DESIGN_优化抖音定时任务.md) - 技术细节
3. [项目总结](./FINAL_优化抖音定时任务.md) - 完整说明