feat: add scoped task source tracing and SDK examples
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
- 源码:[SDK 任务受理示例](../../sdk/go/examples/tasks/main.go)。
|
||||
- 前置:完成迁移、初始化凭据、启动服务,在没有 Worker 消费的专用队列运行此受理/取消示例,详见 [SDK 接入](../sdk/README.md)。
|
||||
- 输入:对象引用、格式与精确整数;提交两次同一身份,再查询、分页并带版本取消。
|
||||
- 预期:重复请求返回同一任务,最终 CANCELLED/revision=2。当前不启动 Worker,不实际生成文件。
|
||||
- 预期:重复请求返回同一任务,最终 CANCELLED/revision=2,source_kind=DIRECT。当前不启动 Worker,不实际生成文件。
|
||||
- 异常:凭据失效、权限不足、内容冲突、版本竞争和未知网络结果,见 [任务接口](../api/tasks.md)。
|
||||
- 清理:示例以取消结束;任务和审计历史保留。重复运行会生成独立示例任务。
|
||||
|
||||
@@ -153,3 +153,10 @@
|
||||
- 步骤:提交三个模拟任务 → 精确业务键及时间范围过滤 → 每页一条遍历 → 验证上界排除 → 取消收尾。
|
||||
- 预期:matched=2、pages=2、before_excluded=true、cancelled=3。
|
||||
- 范围:普通提交/读取/取消权限;不调用外部系统、不启动Worker,所有历史保留,状态分页不是数据库快照。
|
||||
|
||||
## 已可运行:从任务定位来源
|
||||
|
||||
- [来源接口与SDK](../api/task-source.md)随现有tasks、schedules、recovery三个示例运行,无额外服务或数据库表。
|
||||
- 步骤:取得任务ID → GetTaskSource → 区分普通提交/人工重试/计划触发 → 按权限读取父任务或固定计划版本。
|
||||
- 预期:source_kind分别为DIRECT、MANUAL_RETRY、SCHEDULE;人工重试关联原任务,计划任务保留实际触发版本。
|
||||
- 异常:来源缺失或归属不匹配返回503,不能降级为DIRECT;新计划版本不覆盖历史版本,引用查询不授予计划定义读取权限。
|
||||
|
||||
@@ -35,16 +35,19 @@ ORBIT_URL=http://127.0.0.1:8080 \
|
||||
3. 原键重报核查,确认同audit_id和deduplicated=true。
|
||||
4. RetryTask声明可安全重新执行并指定新总预算60秒,取得retry_of指向原任务的新任务。
|
||||
5. Worker开始新任务、报告SUCCEEDED;查询原任务仍FAILED、新任务SUCCEEDED。
|
||||
6. 查询原任务操作列表及重试审计详情,排空并关闭Worker连接。
|
||||
6. 查询原任务操作列表及重试审计详情,通过GetTaskSource核对新任务的直接原任务,排空并关闭Worker连接。
|
||||
|
||||
预期输出,标识由实际执行生成:
|
||||
|
||||
```text
|
||||
source_kind=MANUAL_RETRY parent=<原任务ID>
|
||||
source=<原任务ID> state=FAILED retry=<新任务ID> state=SUCCEEDED audit=<审计ID> operations=4
|
||||
```
|
||||
|
||||
操作数包含本例受理、原结果、核查和人工重试;以本次实际查询为准。示例不删除任务、审计或尝试。重复运行创建独立演示任务,每次保留原历史。
|
||||
|
||||
[来源接口](../api/task-source.md)仅返回直接父任务,重复人工重试沿后继继续,不递归加载整条链;查询不产生新的审计或改写历史。
|
||||
|
||||
## 接入片段
|
||||
|
||||
下方在已有客户端和已核实的current任务上下文中调用;完整imports/main及错误处理见源码。
|
||||
|
||||
Reference in New Issue
Block a user