feat: trace task sources to fixed workflow activations and rounds
This commit is contained in:
@@ -182,7 +182,8 @@
|
||||
|
||||
## 已可运行:从任务定位来源
|
||||
|
||||
- [来源接口与SDK](../api/task-source.md)随现有tasks、schedules、recovery三个示例运行,无额外服务或数据库表。
|
||||
- [来源接口与SDK](../api/task-source.md)随现有tasks、schedules、recovery和workflow四个示例运行,无额外服务或数据库表。
|
||||
- 步骤:取得任务ID → GetTaskSource → 区分普通提交/人工重试/计划触发 → 按权限读取父任务或固定计划版本。
|
||||
- 预期:source_kind分别为DIRECT、MANUAL_RETRY、SCHEDULE;人工重试关联原任务,计划任务保留实际触发版本。
|
||||
- 异常:来源缺失或归属不匹配返回503,不能降级为DIRECT;新计划版本不覆盖历史版本,引用查询不授予计划定义读取权限。
|
||||
- workflow示例逐项核对三个任务所属流程、固定版本、逻辑步骤及创建激活,输出workflow_sources_verified=3;恢复旧激活和POLL轮次由SDK集成测试覆盖。
|
||||
- 异常:来源缺失或归属不匹配返回503,不能降级为DIRECT;新版本不覆盖历史版本,引用查询不授予完整计划或流程读取权限。
|
||||
|
||||
@@ -31,12 +31,13 @@ go run ./examples/workflow
|
||||
|
||||
## 2. 调用链与输出
|
||||
|
||||
CreateWorkflowDefinition → PublishWorkflowVersion(v1) → StartWorkflow → 原键再次StartWorkflow → 自动Worker并行执行 → GetWorkflowStep读取当前信号契约与代次 → SendWorkflowSignal → 原键再次发送 → 后继任务完成 → GetWorkflow → Worker有界排空。
|
||||
CreateWorkflowDefinition → PublishWorkflowVersion(v1) → StartWorkflow → 原键再次StartWorkflow → 自动Worker并行执行 → GetWorkflowStep读取当前信号契约与代次 → SendWorkflowSignal → 原键再次发送 → 后继任务完成 → GetWorkflow → GetWorkflowSteps和GetTaskSource核对三个任务的固定来源 → Worker有界排空。
|
||||
|
||||
预期输出中的ID每次运行不同:
|
||||
|
||||
```text
|
||||
workflow=<32位实例ID> state=SUCCEEDED result={"text":"HELLO ORBIT"} start_deduplicated=true signal_deduplicated=true
|
||||
workflow_sources_verified=3 fixed_version=v1
|
||||
worker_drained=true started=3 confirmed=3
|
||||
```
|
||||
|
||||
@@ -54,4 +55,4 @@ worker_drained=true started=3 confirmed=3
|
||||
|
||||
[公共SDK集成测试](../../sdk/go/workflow_instances_integration_test.go)还实际运行:启动响应丢失的原键恢复;暂停/继续、定时等待、信号消费和取消;UNKNOWN执行核查、步骤结论及解除核查;剩余尝试内TASK重试与SIGNAL换代;确认PENDING后沿原查询预算继续。使用`make integration`在一次性环境复现。
|
||||
|
||||
历史激活列表、流程来源查询、更多独立业务示例及生产验收仍按[计划](../08-development-plan.md)推进。
|
||||
历史激活列表、更多独立业务示例及生产验收仍按[计划](../08-development-plan.md)推进。
|
||||
|
||||
Reference in New Issue
Block a user