feat: 支持持续自动获取任务 (#45)
This commit is contained in:
@@ -87,7 +87,7 @@ 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/` |
|
||||
| 主按钮文案 | 「获取任务」⇄「停止获取」 | #32 暂为「获取任务」单次模式,运行期间禁用 |
|
||||
| 主按钮文案 | 「开始自动获取」⇄「停止自动获取」 | 已按持续串行模式实现 |
|
||||
| Admin 网关 | `AdminGateway` + Mock/HTTP 两实现 | 登记、领取、结果和失败提交已实现 |
|
||||
| 采集任务协调器 | `CollectTaskService` | 已实现单条采集任务流程;采购仍未接入 |
|
||||
| Outbox 提交 | 从 `outbox_events` 取件重试 | 采集结果与失败已实现,重试不重复采集 |
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
```text
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ PDD 任务 │
|
||||
│ [获取任务] [类型▼] [状态▼] [关键词................] [搜索] │
|
||||
│ [开始自动获取] [类型▼] [状态▼] [关键词............] [搜索] │
|
||||
├─────────────────────────────────────────────────────────────┤
|
||||
│ 类型 │ 商品标题 │ 颜色 │ 尺码 │ 价格 │ 数量 │ 状态 │ 更新时间 │详情│
|
||||
│ │
|
||||
@@ -50,20 +50,21 @@
|
||||
|
||||
## 4. 顶部命令区
|
||||
|
||||
### 4.1 获取任务 / 停止获取
|
||||
### 4.1 开始自动获取 / 停止自动获取
|
||||
|
||||
- 使用 `PrimaryPushButton`,是页面唯一主要强调操作。
|
||||
- 初始文本为“获取任务”,图标表达开始。
|
||||
- 启动成功后文本变为“停止获取”,按钮位置和宽度尽量稳定。
|
||||
- 初始文本为“开始自动获取”,图标表达开始。
|
||||
- 启动成功后文本变为“停止自动获取”,按钮位置和宽度尽量稳定。
|
||||
- `[必须]` 这两个文案是**按钮标签**。状态栏里的“自动获取:已开启/已停止”说的是**功能状态**,两者不是一回事,不要混改。
|
||||
- 启动过程中禁用重复点击,显示“正在启动”。
|
||||
- 停止表示不再领取新任务;当前任务进入安全停止流程。
|
||||
- 如果设备、Admin 或必要设置无效,按钮可禁用,但附近必须说明缺少的条件。
|
||||
|
||||
**当前单任务模式(#32):**按钮文字固定为“获取任务”,每次点击先补交一条本地
|
||||
Outbox;若无待提交结果则执行最早的本地采集任务,再没有才向 Admin 领取一条。
|
||||
领取、手机采集和提交都在工作线程完成,运行期间按钮禁用,结束后刷新任务表。
|
||||
当前不循环领取,也不执行采购任务。
|
||||
每一轮先补交一条本地 Outbox;若无待提交结果则执行最早的本地采集任务,再没有
|
||||
才向 Admin 领取一条。领取、手机采集和提交都在单独的工作线程完成,一轮结束且
|
||||
线程完全退出后,由主线程的单次定时器安排下一轮。暂无任务时默认 5 秒后重试;
|
||||
可恢复的 Admin 错误按 5、10、20、30 秒退避。需要人工处理、不可恢复错误、设备
|
||||
或配置错误会停止自动获取。当前仍不执行采购任务。
|
||||
|
||||
### 4.2 搜索与筛选
|
||||
|
||||
|
||||
Reference in New Issue
Block a user