3.2 KiB
Executable File
3.2 KiB
Executable File
TODO - 优化抖音定时任务
🔧 部署待办事项
1. 重启服务 (必须)
# 方式 1: 使用 systemctl
systemctl restart bindbox-game
# 方式 2: 手动重启
pkill bindbox-game
./bindbox-game &
2. 验证定时任务 (必须)
# 查看日志确认定时任务启动
tail -f logs/app.log | grep "定时"
# 预期看到:
# [抖店定时同步] 定时任务已启动 直播奖品=每5分钟 订单同步=每1小时 退款同步=每2小时
3. 测试管理接口 (可选)
# 获取管理员 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:
// 第 28-30 行
ticker5min := time.NewTicker(5 * time.Minute) // 改为其他值
ticker1h := time.NewTicker(1 * time.Hour) // 改为其他值
ticker2h := time.NewTicker(2 * time.Hour) // 改为其他值
📊 监控建议
1. 观察日志 (推荐)
# 持续观察定时任务执行情况
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: 执行以下命令:
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 小时看到 "全量订单同步" 日志
- 管理接口可正常调用 (可选测试)
- 前端刷新订单功能正常
📞 支持
如有问题,请查看: