Chapter 6 Official Docs Note

第 6 章 Temporal 文档

第 6 章讲组合:Child Workflow 是由另一个 Workflow 启动的 Workflow Execution,适合在规模、生命周期或服务边界真正需要时拆分。

官方锚点

本章必须带走的事实

Child Workflow 仍是 Workflow Execution

Child Workflow Execution 是在同一 Namespace 内由另一个 Workflow 启动的 Workflow Execution。

父流程必须等子流程启动

Parent Workflow Execution 必须等待 Child Workflow Execution 成功生成;是否等待子流程结果则可选。

Parent Close Policy 很重要

如果父流程不等待子流程结果,需要考虑父流程关闭时对子流程的取消或终止传播策略。

不要只为代码组织而拆

官方文档不建议仅为代码组织使用 Child Workflow;普通代码结构往往足够。

拆分适合大规模和边界需求

Child Workflow 可用于分区大工作量、代表单个资源、执行周期逻辑或作为独立服务边界。

Child 与 Activity 不同

Child Workflow 有自己的历史和 Workflow API;Activity 更适合单一外部世界操作。

本章对应的执行链

  1. RegionalAidWorkflow 作为父流程承载区域目标。
  2. 北坡、河湾、旧矿区分别启动为 Child Workflow。
  3. 父流程等待每个 Child Workflow 被成功生成。
  4. 每个子流程拥有自己的 Event History 和生命周期。
  5. 父流程聚合子流程状态,保持区域级 Visibility。
  6. 发生延迟时,玩家能判断是父流程等待、子流程故障还是具体外部动作卡住。

结尾自检

  1. 为什么不应只为代码组织使用 Child Workflow?
  2. Child Workflow 与 Activity 在历史和能力上有什么不同?
  3. 父流程不等待子流程结果时为什么要考虑 Parent Close Policy?
  4. 拆成多层后为什么更需要 Visibility?