当前采集任务遇到可恢复错误会进入 retry_wait,界面显示“等待重试”,自动获取还会停止。这会让采购人员误以为系统正在倒计时重试,也会让一条坏任务阻塞 Admin 指派给当前 Client 的后续任务。
retry_wait
目标是“一条任务自动执行一次”:任务自身失败后明确显示采集失败或采购失败,不自动重试当前任务;失败信息成功保存并上报 Admin 后继续下一条。只有用户明确点击重新采集或重新采购,才再次执行。
pdd_data
retry_wait/retryable=true
claimed
task_type + status
last_error_message
预计修改:
从 client/ 运行任务服务、Repository、调度器、PDD UI 事件精确测试,再运行完整 test_*.py 和修改文件 py_compile。使用 Mock/Fake,不连接真机,不执行真实下单。
client/
test_*.py
py_compile
8b8a542
88d59e4
docs/task/170-任务失败后继续下一条.md
实现结果:
retryable=false
task_failed
验证:
未验证:未连接真实 Admin/Android 连续执行多条任务,未执行真实采购、下单或付款。工单保持打开,等待用户验收。
用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:ad44f83。现关闭工单。
ad44f83
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
当前采集任务遇到可恢复错误会进入
retry_wait,界面显示“等待重试”,自动获取还会停止。这会让采购人员误以为系统正在倒计时重试,也会让一条坏任务阻塞 Admin 指派给当前 Client 的后续任务。目标是“一条任务自动执行一次”:任务自身失败后明确显示采集失败或采购失败,不自动重试当前任务;失败信息成功保存并上报 Admin 后继续下一条。只有用户明确点击重新采集或重新采购,才再次执行。
做什么 / 不做什么
retry_wait,保存为明确失败状态。retry_wait,已有记录作为失败记录保留。pdd_dataschema。已确认的实现方案
retry_wait/retryable=true调整为失败且不自动重试;需要人工判断的规格、登录等仍保留相应错误状态。claimed,不再把retry_wait当作自动候选;已有retry_wait不迁移删除,只作为历史失败显示。task_type + status显示中文:采集失败、采购失败;可在详情查看last_error_message。预计修改:
验收标准
验证方式
从
client/运行任务服务、Repository、调度器、PDD UI 事件精确测试,再运行完整test_*.py和修改文件py_compile。使用 Mock/Fake,不连接真机,不执行真实下单。风险和回退
实施完成,等待验收
8b8a54288d59e4docs/task/170-任务失败后继续下一条.md实现结果:
retryable=false;claimed,失败及历史retry_wait不会再次自动执行;task_failed,上报成功后继续下一轮;验证:
retry_wait会被自动选择器跳过;未验证:未连接真实 Admin/Android 连续执行多条任务,未执行真实采购、下单或付款。工单保持打开,等待用户验收。
用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:
ad44f83。现关闭工单。