feat: 完善采购任务安全恢复 (#73)
This commit is contained in:
@@ -451,14 +451,18 @@ CREATE TABLE app_settings (
|
||||
|
||||
| 重启时发现 | 怎么处理 |
|
||||
|---|---|
|
||||
| `status = 'running'`,且 `task_runs.irreversible_action_at` **为空** | 说明还没下单,改成 `retry_wait`,正常重试 |
|
||||
| `status = 'running'`,且 `irreversible_action_at` **不为空** | 说明可能已经下单了。**保持 `running`**,把 `current_step` 改成 `reconcile_order` 去核对订单。核对不到就转 `manual_review`。**任何情况下都不许重新下单** |
|
||||
| 采集 `status = 'running'` | 改成 `retry_wait`,原执行记录结束为失败 |
|
||||
| 采购 `status = 'running'`,且 `task_runs.irreversible_action_at` **为空** | 原执行记录先结束为失败,任务改回 `claimed / purchase_recovery_ready`;再次演练必须新建执行记录 |
|
||||
| 采购 `status = 'running'`,且 `irreversible_action_at` **不为空** | 原执行记录和任务都改成 `manual_review / reconcile_purchase`;只调用只读核对,**任何情况下都不许重新下单** |
|
||||
| `status = 'claimed'` | 说明领到了还没开始动手,保持不变,等协调器重新调度执行。**不需要再向 Admin 领一次** |
|
||||
| `status = 'result_pending'` | 不动状态,交给 Outbox 继续重试提交 |
|
||||
| `outbox_events.status = 'sending'` | 改回 `pending`,让它能被重新发送 |
|
||||
|
||||
一句话记住:**`irreversible_action_at` 有值 = 只准查,不准买。**
|
||||
|
||||
可重试的设备错误在采购演练中也先进入 `manual_review`,不会因为技术上
|
||||
“可重试”就隐式重跑采购。这与采集任务的 `retry_wait` 规则不同。
|
||||
|
||||
## 8. `pdd_data` JSON
|
||||
|
||||
### 8.1 通用商品数据
|
||||
|
||||
Reference in New Issue
Block a user