Chapter 2 Official Docs Note

第 2 章 Temporal 文档

第 2 章讲清楚等待边界:Timeout 让系统承认等待已经越界,Retry Policy 决定失败或超时后怎样有边界地再试。

官方锚点

本章必须带走的事实

Timeout 是时间边界

Timeout 不只是数字配置,它回答系统最多允许某类等待或执行持续多久。

Workflow Timeout 要谨慎

官方文档提醒通常不推荐随意设置 Workflow Timeout,因为 Workflow 设计上可以长时间运行并恢复。

Workflow Task Timeout 识别 Worker 下线

Workflow Task Timeout 限制 Worker 拉取 Workflow Task 后可执行多久,主要用于识别 Worker 是否失联。

Activity 更需要明确边界

外部动作可能排队、卡住或丢回声,所以 Activity 需要更具体的执行和总等待边界。

Retry Policy 不是无限坚持

Retry Policy 应定义重试间隔、退避和上限,把恢复能力限制在可承受范围内。

容量和边界不同

增加 Worker 可能缓解排队,但不能替代一次外部动作本身的时间边界。

本章对应的执行链

  1. RequestDeliveryCartActivity 被调度后开始等待车行回声。
  2. Schedule-To-Close 约束从调度到最终完成的总等待边界。
  3. Start-To-Close 约束某一次 Activity 开始执行后的运行边界。
  4. 超时会被记录为系统事实,而不是藏成模糊等待。
  5. Retry Policy 根据规则安排下一次尝试。
  6. Workflow 在有边界的失败和重试之间继续推进。

结尾自检

  1. 为什么更多 Worker 不能替代 Timeout?
  2. Schedule-To-Close 和 Start-To-Close 分别回答什么问题?
  3. 为什么永远重试会扩散失败?
  4. 什么时候应该用 Timer,而不是给整个 Workflow 随意设置 Timeout?