Files
xyzw_web_helper/MD说明文件夹/方案C实施-全面增加超时时间v3.11.13.md
2025-10-17 20:56:50 +08:00

9.4 KiB
Raw Permalink Blame History

方案C实施全面增加超时时间 v3.11.13

📋 更新时间

2025-10-08

🎯 问题描述

用户采用方案C增加超时时间,以解决任务全部失败的问题。

原因分析

  • 大部分任务超时时间仅为1000ms1秒
  • 在高并发或网络延迟情况下1秒不够
  • 导致大量请求超时: xxx (1000ms)错误

已实施的超时调整

1 通用任务超时1000ms → 3000ms

任务 命令 调整前 调整后 位置(行号)
赠送好友金币 friend_batch 1000ms 3000ms 591
免费点金 system_buygold 1000ms 3000ms 633
福利签到 system_signinreward 1000ms 3000ms 660
领取每日礼包 discount_claimreward 1000ms 3000ms 669
领取免费礼包 card_claimreward 1000ms 3000ms 678
领取免费扫荡卷 genie_buysweep 1000ms 3000ms 744
竞技场 arena_startarea 1000ms 3000ms 773
军团BOSS fight_startlegionboss 1000ms 3000ms 816
领取盐罐奖励 bottlehelper_claim 1000ms 3000ms 873
领取日常任务奖励 task_claimdailyreward 1000ms 3000ms 901
领取周常任务奖励 task_claimweekreward 1000ms 3000ms 910
俱乐部签到 legion_signin 1000ms 3000ms 998
一键答题 study_startgame 1000ms 3000ms 1017
领取挂机奖励 system_claimhangupreward 1000ms 3000ms 1050

共14个任务超时统一增加到3000ms3秒


2 发车相关超时1000ms → 5000ms

任务 命令 调整前 调整后 位置(行号)
发车 - 查询 car_getrolecar 1000ms 5000ms 1192
发车 - 刷新 car_refresh 1000ms 5000ms 1309
发车 - 收获 car_claim 1000ms 5000ms 1375
发车 - 发送 car_send 1000ms 5000ms 1471

共4个发车任务超时统一增加到5000ms5秒

为什么更长?

  • 发车操作涉及复杂的服务器逻辑
  • 需要查询、计算、更新多个状态
  • 5秒能提供更充足的处理时间

3 爬塔超时2000ms → 5000ms

任务 命令 调整前 调整后 位置(行号)
爬塔 fight_starttower 2000ms 5000ms 1086

爬塔涉及战斗计算5秒更稳定


4 保持不变的超时

任务 命令 超时时间 原因
账号激活 role_getroleinfo 10000ms 已经足够长,无需调整
一键补差(前) role_getroleinfo 10000ms 已经足够长,无需调整
一键补差(后) role_getroleinfo 10000ms 已经足够长,无需调整

📊 超时配置总览

按超时时间分类

⏱️ 3000ms3秒- 通用任务

✅ friend_batch              - 赠送好友金币
✅ system_buygold            - 免费点金
✅ system_signinreward       - 福利签到
✅ discount_claimreward      - 领取每日礼包
✅ card_claimreward          - 领取免费礼包
✅ genie_buysweep            - 领取免费扫荡卷
✅ arena_startarea           - 竞技场
✅ fight_startlegionboss     - 军团BOSS
✅ bottlehelper_claim        - 领取盐罐奖励
✅ task_claimdailyreward     - 领取日常任务奖励
✅ task_claimweekreward      - 领取周常任务奖励
✅ legion_signin             - 俱乐部签到
✅ study_startgame           - 一键答题
✅ system_claimhangupreward  - 领取挂机奖励

共14个任务

⏱️ 5000ms5秒- 发车 + 爬塔

✅ car_getrolecar    - 查询车辆
✅ car_refresh       - 刷新车辆
✅ car_claim         - 收获车辆
✅ car_send          - 发送车辆
✅ fight_starttower  - 爬塔

共5个任务

⏱️ 10000ms10秒- 账号激活

✅ role_getroleinfo  - 获取角色信息3处

共3处调用

📈 预期效果

超时错误减少

调整前:

请求超时错误率50-80%  ❌
成功率:        20-50%  ❌

调整后(预期):

请求超时错误率:<10%    ✅
成功率:        >85%    ✅

执行时间影响

单个Token7个任务

调整前:~7秒但70%失败)
调整后:~15秒但85%成功) ✅

10个Token并发10

调整前:~30秒但大量失败
调整后:~1.5-2分钟稳定成功

100个Token并发10

调整前:~3分钟但全失败
调整后:~15-20分钟稳定成功

🧪 测试建议

小规模测试5-10个token

  1. 刷新页面Ctrl + Shift + R
  2. 设置并发数5-10
  3. 选择任务:快速套餐
  4. 观察日志
    ✅ 是否还有大量超时错误?
    ✅ 成功率是否提升到80%以上?
    ✅ 浏览器是否稳定?
    

预期结果

理想情况:

✅ 超时错误:<5%
✅ 成功率:  >90%
✅ 执行时间5个token ~1分钟

可接受情况:

✅ 超时错误:<15%
✅ 成功率:  >80%
✅ 执行时间5个token ~1.5分钟

不可接受(需进一步调整):

❌ 超时错误:>30%
❌ 成功率:  <70%
❌ 仍然大量失败

🔧 进一步调整(如需要)

如果仍有部分超时

方案1再次增加超时

// 通用任务
3000ms  5000ms

// 发车相关
5000ms  8000ms

// 爬塔
5000ms  8000ms

方案2降低并发数

当前并发 → 减半
10 → 5
20 → 10

方案3增加任务间隔

// 当前400ms
await new Promise(resolve => setTimeout(resolve, 400))

// 调整为800ms
await new Promise(resolve => setTimeout(resolve, 800))

⚖️ 性能权衡

速度 vs 稳定性

配置 速度 成功率 推荐场景
超时1000ms 极快 20-50% 低并发 + 稳定网络
超时3000ms 80-90% 中等并发 + 一般网络 当前
超时5000ms 中等 90-95% 高并发 + 不稳定网络
超时8000ms 🐌 95-98% 极高并发 + 极差网络

建议: 在稳定性达到要求后,可以逐步减少超时时间来提升速度。


📝 版本对比

各版本配置对比

版本 通用任务超时 发车超时 爬塔超时 效果
v3.11.10 1000ms 1000ms 2000ms 全失败
v3.11.12 1000ms 1000ms 2000ms ⚠️ 大量失败
v3.11.13 3000ms 5000ms 5000ms 预期成功

🎯 成功标准

最低标准(必须达到)

✅ 超时错误率 <20%
✅ 任务成功率 >75%
✅ 浏览器不崩溃
✅ 内存 <2GB

理想标准(期望达到)

⭐ 超时错误率 <10%
⭐ 任务成功率 >85%
⭐ 内存 <1.5GB
⭐ CPU <30%

📋 修改文件清单

修改的文件

  • src/stores/batchTaskStore.js
    • 第591行friend_batch 超时 1000ms → 3000ms
    • 第633行system_buygold 超时 1000ms → 3000ms
    • 第660行system_signinreward 超时 1000ms → 3000ms
    • 第669行discount_claimreward 超时 1000ms → 3000ms
    • 第678行card_claimreward 超时 1000ms → 3000ms
    • 第744行genie_buysweep 超时 1000ms → 3000ms
    • 第773行arena_startarea 超时 1000ms → 3000ms
    • 第816行fight_startlegionboss 超时 1000ms → 3000ms
    • 第873行bottlehelper_claim 超时 1000ms → 3000ms
    • 第901行task_claimdailyreward 超时 1000ms → 3000ms
    • 第910行task_claimweekreward 超时 1000ms → 3000ms
    • 第998行legion_signin 超时 1000ms → 3000ms
    • 第1017行study_startgame 超时 1000ms → 3000ms
    • 第1050行system_claimhangupreward 超时 1000ms → 3000ms
    • 第1086行fight_starttower 超时 2000ms → 5000ms
    • 第1192行car_getrolecar 超时 1000ms → 5000ms
    • 第1309行car_refresh 超时 1000ms → 5000ms
    • 第1375行car_claim 超时 1000ms → 5000ms
    • 第1471行car_send 超时 1000ms → 5000ms

共19处超时调整


🎉 总结

此次调整系统性地增加了所有任务的超时时间:

通用任务1000ms → 3000ms14个任务 发车任务1000ms → 5000ms4个任务 爬塔任务2000ms → 5000ms1个任务 保持不变role_getroleinfo 维持10000ms3处

核心改进

  • 🎯 提高稳定性:减少超时错误
  • 📈 提升成功率预期从20-50%提升到85%以上
  • ⚖️ 合理权衡:牺牲少量速度换取稳定性
  • 🔍 日志可见ENABLE_BATCH_LOGS = true方便调试

后续建议

  1. 小规模测试先测5-10个token
  2. 观察日志:查看超时错误是否减少
  3. 记录成功率:填写测试数据表
  4. 根据结果调整
    • 如果成功率>85%:逐步增加并发
    • 如果仍有超时:进一步增加超时或降低并发
    • 如果稳定后速度可接受:可以考虑略微减少超时

请立即刷新页面并测试! 🚀

期待您的测试反馈:

  1. 成功率如何?
  2. 还有多少超时错误?
  3. 执行时间可接受吗?
  4. 浏览器是否稳定?

我会根据您的反馈继续优化!