目录

Search

  1. 前言
  2. 工作流
  3. 工作流变量
  4. 工作流参数
  5. 群集任务
  6. 命令任务
  7. 人工任务
  8. 映射任务
  9. 通知任务
  10. 网关
  11. 工作流恢复
  12. 工作流管理

Developer 工作流指南

Developer 工作流指南

工作流恢复示例

工作流恢复示例

以下示例介绍了已中断的工作流实例并说明数据集成服务如何尝试恢复每个实例。在每个示例中,为工作流启用了恢复,并且每个任务均为命令任务、映射任务或通知任务。
工作流遇到如下中断:
取消工作流实例。
在 Task 2 运行期间取消工作流实例。数据集成服务完成 Task 2,然后取消工作流实例。这三个任务和工作流实例具有以下状态:
Task 1(已完成)> Task 2(已完成)> Task 3(未启动)。工作流被取消。
工作流恢复后,数据集成服务会忽略 Task 1 和 Task 2,然后首次运行 Task 3。
当具有跳过恢复策略的任务正在运行时,中止工作流实例。
在 Task 2 运行期间中止工作流实例。Task 2 具有跳过恢复策略。数据集成服务中止 Task 2,然后中止工作流实例。这三个任务和工作流实例具有以下状态:
Task 1(已完成)> Task 2(已中止)> Task 3(未启动)。工作流被中止。
由于工作流已终止,无法恢复工作流实例。
数据集成服务进程意外关闭。为工作流配置恢复。
数据集成服务进程在 Task 2 运行期间关闭。Task 2 为通知任务。当服务进程重新启动后,这三个任务和工作流实例具有以下状态:
Task 1(已完成)> Task 2(已取消)> Task 3(未启动)。工作流被取消。
工作流恢复后,数据集成服务会忽略 Task 1,重新启动 Task 2,然后首次运行 Task 3。
具有重新启动恢复策略的任务遇到可恢复错误。
Task 2 具有重新启动恢复策略并遇到可恢复错误。服务先取消 Task 2,然后取消工作流实例。这三个任务和工作流实例具有以下状态:
Task 1(已完成)> Task 2(已取消)> Task 3(未启动)。工作流被取消。
工作流恢复后,数据集成服务会忽略 Task 1,重新启动 Task 2,然后首次运行 Task 3。
具有跳过恢复策略的任务遇到错误。取消工作流实例。
Task 2 具有跳过恢复策略。任务遇到错误,因此失败。传出序列流未包含验证 Task 2 是否成功的条件。因此,数据集成服务将继续运行后续工作流对象。在 Task 3 运行期间取消工作流实例。Task 3 具有重新启动恢复策略。数据集成服务取消 Task 3,然后取消工作流实例。这四个任务和工作流实例具有以下状态:
Task 1(已完成)> Task 2(已失败)> Task 3(已取消)> Task 4(未启动)。工作流被取消。
工作流恢复后,数据集成服务会忽略 Task 1 和 Task 2,重新启动 Task 3,然后首次运行 Task 4。在恢复运行过程中,Task 3 和 Task 4 成功完成。数据集成服务将最终工作流状态更新为“已完成”。
具有跳过恢复策略的任务遇到错误。中止工作流实例。
Task 2 具有跳过恢复策略。任务遇到错误,因此失败。传出序列流未包含验证 Task 2 是否成功的条件。因此,数据集成服务将继续运行后续工作流对象。在 Task 3 运行期间中止工作流实例。Task 3 具有重新启动恢复策略。数据集成服务中止 Task 3,然后中止工作流实例。这四个任务和工作流实例具有以下状态:
Task 1(已完成)> Task 2(已失败)> Task 3(已中止)> Task 4(未启动)。工作流被中止。
由于工作流已终止,无法恢复工作流实例。
具有跳过恢复策略的任务遇到错误。传出条件序列流将检查任务失败。
Task 1 具有跳过恢复策略。任务遇到错误,因此失败。传出序列流包含验证 Task 1 是否成功的条件。由于条件返回 false,数据集成服务将停止处理后续工作流对象,并完成工作流实例。这三个任务和工作流实例具有以下状态:
Task 1(已失败)> Task 2(未启动)> Task 3(未启动)。工作流已完成。
由于工作流实例已完成,无法恢复工作流实例。
由于不支持恢复的工作流中出现任务错误,任务失败。
由于工作流未指定工作流恢复策略,数据集成服务会跳过因任务错误而失败的所有任务。工作流可以一直运行到结束。这三个任务和工作流实例具有以下状态:
任务 1(已完成)> 任务 2(失败)> 任务 3(已完成)。工作流已完成。
由于工作流实例已完成,无法恢复工作流实例。
映射任务中的映射不会生成人工任务的异常数据。工作流中的活动序列流达到终止事件。
Task 1 是映射任务,Task 2 是通知任务。映射任务为下游人工任务生成异常数据。通知任务发送一封电子邮件,其中包含映射任务中的映射生成的异常行的数量。工作流包括连接到人工任务和终止事件的独占网关。
网关上的第一个序列流会连接到终止事件,并包括评估映射任务的输出的条件。网关上的第二个序列流会连接到人工任务。由于 Task 1 指定的映射没有生成异常数据,网关上的条件序列流会触发终止事件。任务和工作流实例具有以下状态:
Task 1(已完成)> Task 2(已完成)> 终止事件。工作流被中止。
不能恢复工作流,因为工作流按照设计进入了中止状态。