当前正式采集器在逐个选择颜色时,每轮固定等待 0.2 秒并最多轮询 8 次;左右滑动完成后还会固定等待 0.35 秒。颜色较多或部分颜色无法确认价格时,固定等待会累积成明显耗时。
复现方式:进入包含较多颜色的商品规格面板,遍历全部颜色。正常颜色至少产生两次 0.2 秒等待;无法确认选择或价格的颜色会等待最多 1.6 秒;每次水平滑动还会额外固定等待 0.35 秒。
PddCollectService
pdd_data
修改 client/src/pdd_collect_service.py:
client/src/pdd_collect_service.py
_click_and_sample_color()
修改 client/test/test_pdd_collect_service.py,覆盖等待次数、超时和原有蛇形顺序。必要时只更新与稳定行为有关的 Client 文档,不记录容易失效的内部秒数。
client/test/test_pdd_collect_service.py
不修改数据库和接口。
从 client/ 目录执行:
client/
C:/Python310/python.exe -m py_compile src/pdd_collect_service.py test/test_pdd_collect_service.py C:/Python310/python.exe -m unittest discover -s test -p test_pdd_collect_service.py C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
真机验证:选择一个颜色数量较多的 PDD 商品,对比优化前后的颜色遍历耗时,确认颜色顺序、价格和尺码结果没有异常。不得执行真实下单。
风险是等待过短时可能把正常但加载较慢的价格记为空。通过把“选中确认”和“价格稳定”分开计时、保留可配置默认值及真机验收降低风险。如真机数据完整度下降,可只回调构造参数,无需回退遍历逻辑。
已完成状态驱动等待优化:
验证:
git diff --check
提交:
ed72e62
7b104e3
cbb03fa
docs/task/44-优化PDD颜色采集等待时间.md
工单保持打开,等待用户真机验收。
用户已于 2026-08-11 明确验收通过。
eca9289
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
当前正式采集器在逐个选择颜色时,每轮固定等待 0.2 秒并最多轮询 8 次;左右滑动完成后还会固定等待 0.35 秒。颜色较多或部分颜色无法确认价格时,固定等待会累积成明显耗时。
复现方式:进入包含较多颜色的商品规格面板,遍历全部颜色。正常颜色至少产生两次 0.2 秒等待;无法确认选择或价格的颜色会等待最多 1.6 秒;每次水平滑动还会额外固定等待 0.35 秒。
做什么 / 不做什么
PddCollectService构造参数,保留安全默认值。pdd_data、SQLite、Admin 接口和任务状态。怎么做
修改
client/src/pdd_collect_service.py:_click_and_sample_color()使用单调时钟判断总超时:修改
client/test/test_pdd_collect_service.py,覆盖等待次数、超时和原有蛇形顺序。必要时只更新与稳定行为有关的 Client 文档,不记录容易失效的内部秒数。不修改数据库和接口。
验收标准
怎么验证
从
client/目录执行:真机验证:选择一个颜色数量较多的 PDD 商品,对比优化前后的颜色遍历耗时,确认颜色顺序、价格和尺码结果没有异常。不得执行真实下单。
风险和回退
风险是等待过短时可能把正常但加载较慢的价格记为空。通过把“选中确认”和“价格稳定”分开计时、保留可配置默认值及真机验收降低风险。如真机数据完整度下降,可只回调构造参数,无需回退遍历逻辑。
实现完成,等待真机验收
已完成状态驱动等待优化:
PddCollectService,非法非正值会明确报错。验证:
git diff --check通过。提交:
ed72e62perf: 优化颜色采集等待时间 (#44)7b104e3test: 覆盖颜色等待参数校验 (#44)cbb03fadocs: 归档任务 #44docs/task/44-优化PDD颜色采集等待时间.md工单保持打开,等待用户真机验收。
用户已于 2026-08-11 明确验收通过。
eca9289