feat: 执行并提交 PDD 采集任务 (#32)
This commit is contained in:
@@ -87,11 +87,11 @@ client/
|
||||
|---|---|---|
|
||||
| 主窗口文件 | `src/ui/main_window.py` | `src/ui_main.py`。**注意**:`client/AGENTS.md` 已按 `src/ui_main.py` 写规则,两处不一致,见下方说明 |
|
||||
| 目录分层 | domain / application / infrastructure / workers / ui | 平铺在 `src/` 下:`db.py`、`db_schema.py`、`task_repository.py`、`settings_repository.py`、`task_models.py` 等,另有 `src/util/`、`src/demo1/` |
|
||||
| 主按钮文案 | 「获取任务」⇄「停止获取」 | 构造时是「获取任务」,但状态机(`pdd_ui.py` 470/472 行)仍是「开始自动获取」/「停止自动获取」,会覆盖掉,**待修** |
|
||||
| Admin 网关 | `AdminGateway` + Mock/HTTP 两实现 | 尚未实现 |
|
||||
| 任务协调器 | `TaskCoordinator` / `TaskDispatcher` / `ResultSubmissionService` | 尚未实现 |
|
||||
| Outbox 提交 | 从 `outbox_events` 取件重试 | 表已建好,提交逻辑尚未实现 |
|
||||
| PDD 自动化 | `infrastructure/pdd/` 适配层 | `src/util/` 下的独立函数 + `src/demo1/` 演示脚本 |
|
||||
| 主按钮文案 | 「获取任务」⇄「停止获取」 | #32 暂为「获取任务」单次模式,运行期间禁用 |
|
||||
| Admin 网关 | `AdminGateway` + Mock/HTTP 两实现 | 登记、领取、结果和失败提交已实现 |
|
||||
| 采集任务协调器 | `CollectTaskService` | 已实现单条采集任务流程;采购仍未接入 |
|
||||
| Outbox 提交 | 从 `outbox_events` 取件重试 | 采集结果与失败已实现,重试不重复采集 |
|
||||
| PDD 自动化 | `infrastructure/pdd/` 适配层 | `pdd_device_service.py` 与 `pdd_collect_service.py` 已接入采集主链 |
|
||||
|
||||
已经对齐、不再是差异的(保留在这里做个记录,下次可删):
|
||||
|
||||
|
||||
@@ -200,8 +200,8 @@ POST /api/v1/client/tasks/claim
|
||||
无可领取任务时返回 `204 No Content`。
|
||||
|
||||
Client 的 `HttpAdminGateway.claim_next` 已实现本接口。当前只声明
|
||||
`supported_types: ["collect"]`,一次调用最多领取一个采集任务;结果提交和失败提交
|
||||
仍由后续工单实现。
|
||||
`supported_types: ["collect"]`,一次调用最多领取一个采集任务;采集结束后通过
|
||||
本页 §6 或 §7 提交,完整请求会先进入本地 Outbox。
|
||||
|
||||
`[必须]` **`204` 不是错误。** Client 要把它当"暂时没活干"处理,
|
||||
不要报错,也不要因此触发重试风暴。首次 claim 通常返回 204;如果该编号已经预先分配任务,也可以直接返回 200。
|
||||
|
||||
@@ -60,10 +60,10 @@
|
||||
- 停止表示不再领取新任务;当前任务进入安全停止流程。
|
||||
- 如果设备、Admin 或必要设置无效,按钮可禁用,但附近必须说明缺少的条件。
|
||||
|
||||
**当前过渡状态(#30):**任务执行器尚未接入时,按钮文字固定为“获取任务”,每次
|
||||
点击只在后台领取一个采集任务、保存到 SQLite 并刷新表格。领取期间禁用重复点击,
|
||||
底部状态区显示进度;不循环领取,也不显示“停止获取”。接入领取—执行闭环后再恢复
|
||||
本节上面的最终交互。
|
||||
**当前单任务模式(#32):**按钮文字固定为“获取任务”,每次点击先补交一条本地
|
||||
Outbox;若无待提交结果则执行最早的本地采集任务,再没有才向 Admin 领取一条。
|
||||
领取、手机采集和提交都在工作线程完成,运行期间按钮禁用,结束后刷新任务表。
|
||||
当前不循环领取,也不执行采购任务。
|
||||
|
||||
### 4.2 搜索与筛选
|
||||
|
||||
|
||||
Reference in New Issue
Block a user