Workflow Recovery

原创 2015年07月10日 15:58:37

Task Recovery Strategies

Each task in a workflow has a recovery strategy. When the Integration Service recovers a workflow, it recovers tasks based on the recovery strategy:
¨ Restart task. When the Integration Service recovers a workflow, it restarts each recoverable task that is
configured with a restart strategy. You can configure Session and Command tasks with a restart recovery
strategy.
All other tasks have a restart recovery strategy by default.
¨ Fail task and continue workflow. When the Integration Service recovers a workflow, it does not recover the
task. The task status becomes failed, and the Integration Service continues running the workflow.
Configure a fail recovery strategy if you want to complete the workflow, but you do not want to recover the task.
You can configure Session and Command tasks with the fail task and continue workflow recovery strategy.
¨ Resume from the last checkpoint. The Integration Service recovers a stopped, aborted, or terminated
session from the last checkpoint. You can configure a Session task with a resume strategy.

 

Session Task Strategies


When you configure a session for recovery, you can recover the session when you recover a workflow, or you can
recover the session without running the rest of the workflow.
When you configure a session, you can choose a recovery strategy of fail, restart, or resume:


¨ Resume from the last checkpoint. The Integration Service saves thesession state of operation and
maintains target recovery tables.
If the session aborts, stops, or terminates, the Integration Service uses the saved recovery information to resume the session from the point of interruption.
When you validate a session, the Workflow Manager verifies that the transformations are configured to produce repeatable and deterministic data. The session is not valid if you configure recovery to resume from the last checkpoint, but the transformations are not configured for repeatable and deterministic data.

You cannot configure a session with a resume strategy if it uses mapping variables.


¨ Restart task. The Integration Service runs the session again when it recovers the workflow.When you recover with restart task, you might need to remove the partially loaded data in the target or design a mapping to skip the duplicate rows.


¨ Fail task and continue workflow. When the Integration Service recovers a workflow, it does not recover the
session. The session status becomes failed, and the Integration Service continues running the workflow.
Configure the recovery strategy on the Properties page of the Session task.

 

Resuming Sessions

When you configure session recovery to resume from the last checkpoint, the Integration Service creates
checkpoints in $PMStorageDir to determine where to start processing session recovery. When the Integration
Service resumes a session, it restores the session state of operation, including the state of each source, target,
and transformation. The Integration Service determines how much of the source data it needs to process.

When the Integration Service resumes a session, the recovery session must produce the same data as the original session. The session is not valid if you configure recovery to resume from the last checkpoint, but the session cannot produce repeatable data.

You can configure a mapping to enable transformations in the session to produce the same data between the session and recovery run. When a mapping contains a transformation that never produces repeatable data, you can add a transformation that always produces repeatable data immediately after it.

 

When you recover a session from the last checkpoint, the Integration Service restores the session state of
operation to determine the type of recovery it can perform:
¨ Incremental. The Integration Service starts processing data at the point of interruption. It does not read or
transform rows that it processed before the interruption. By default, the Integration Service attempts to perform
incremental recovery.
¨ Full. The Integration Service reads all source rows again and performs all transformation logic if it cannot
perform incremental recovery. The Integration Service begins writing to the target at the last commit point. If
any session component requires full recovery, the Integration Service performs full recovery on the session.

 

You can recover a workflow if the Integration Service can access the workflow state of operation. The workflow state of operation includes the status of tasks in the workflow and workflow variable values. The Integration Service stores the state in memory or on disk, based on how you configure the workflow:
¨ Enable recovery. When you enable a workflow for recovery, the Integration Service saves the workflow state of operation in a shared location. You can recover the workflow if it terminates, stops, or aborts. The workflow does not have to be running.
¨ Suspend. When you configure a workflow to suspend on error, the Integration Service stores the workflow state of operation in memory. You can recover the suspended workflow if a task fails. You can fix the task error and recover the workflow.

 

State of Operation


When you recover a workflow or session, the Integration Service restores the workflow or session state of operation to determine where to begin recovery processing. The Integration Service stores the workflow state of operation in memory or on disk based on the way you configure the workflow. The Integration Service stores thesession state of operation based on the way you configure the session.

 

Rules and Guidelines for Session Recovery

recovery功能有很多限制条件(尤其是Session的resume from the last checkpoint选项),很多种情况都不能recovery或者recovery后会出现前后数据不一致等其他问题。(Pipeline Partitioning也是限制条件过多,要注意的事项细节太多)

工作流 workflow 理论知识

1 什么是工作流技术 工作流(Workflow) 就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要...
  • u014682573
  • u014682573
  • 2014年06月10日 22:37
  • 1466

传遍朋友圈的Workflow,到底是什么鬼

概述Workflow(工作流):指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流主要解决的主要问题是:为了实现某个业务目标,利用计算...
  • xiangzhihong8
  • xiangzhihong8
  • 2017年03月24日 14:42
  • 916

WorkFlow之实践篇

紧接上篇WorkFlow之理论篇我们来学一下如何进行操作:
  • wangdan199112
  • wangdan199112
  • 2015年03月31日 15:31
  • 1970

Workflow 4.0 中三种方式实现workflow的触发调用

1WorkflowInvoker 使用WorkflowInvoker类中的InVoke静态方法-->WorkflowInvoker.Invoke(myWF);   //myWF为自定义的workfl...
  • u012323351
  • u012323351
  • 2016年02月14日 16:44
  • 1689

VS2008 WorkFlow使用CodeActivity添加工作流逻辑

这一部分中,我们来看一看如何向工作流添加自定义逻辑。自定义逻辑在这里指的是向工作流添加我们自己的代码。完成这一目标,可以有两种机制:使用CodeActivity和开发自定义活动。在后面我们会看到这两种...
  • comma851001
  • comma851001
  • 2016年09月26日 16:58
  • 316

Workflow相关表简单分析

静态定义表(没有ITEM_KEY,因为ITEM_KEY代表一个wf实例)   --获取item_type定义。 SELECT * FROM wf_item_types t WHERE t.name= ...
  • caixingyun
  • caixingyun
  • 2014年08月19日 23:09
  • 1608

用 Python 简化数据处理流程的 workflow 及简单示范

注:本文所述方法肯定不是最简单的,但
  • seekiu
  • seekiu
  • 2014年08月07日 21:35
  • 1638

WorkFlow之理论篇

工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。...
  • wangdan199112
  • wangdan199112
  • 2015年03月31日 15:24
  • 1321

如何使用SharePoint Designer创建自定义的Workflow?

为了建立无纸化办公环境,所以一些公司需按照需求创建各种Workflow,以提高工作效率,那么以自定义个人请假Workflow为例,给大家展示一下如何通过SharePoint Designer来创建...
  • ShelleyLiu0415
  • ShelleyLiu0415
  • 2015年10月14日 14:38
  • 2295

joget workflow插件比较-社区版和企业版

插件比较-社区版和企业版 NO. 插件类型 社区版 企业版 1 审计跟踪 提供额外的流程监控功能。如,获取报表或用户通知 ...
  • huanglin529
  • huanglin529
  • 2017年01月12日 13:18
  • 1124
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Workflow Recovery
举报原因:
原因补充:

(最多只允许输入30个字)