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也是限制条件过多,要注意的事项细节太多)

相关文章推荐

企业级开发:Gitflow Workflow工作流

http://www.jianshu.com/p/104fa8b15d1e 文/流星狂飙(简书作者) 原文链接:http://www.jianshu.com/p/104fa8b15d1e 著...
  • wjy397
  • wjy397
  • 2016年03月24日 09:03
  • 269

WF工作流技术内幕 —— 通过Web服务调用Workflow工作流(开发持久化工作流)

如果你曾经负责开发企业ERP系统或者OA系统,工作流对你来说一定并不陌生。工作流(Workflow)是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。工作流要解决的主要问题是:为实现某个业务目...

Oracle WorkFlow(工作流)(一)

转载自:http://hi.baidu.com/quce227/item/3dee702c66466a0343634a58 1概述 1.1工作流的概念 Workflow是EBS的基础架构技术之一...

Oracle Workflow Demo (1) - 一个简单的请假申请工作流

目标:通过Oracle Workflow做一个简单的请假申请工作流,效果:经理接到流程后,可以Approve,也可以Reject。File > Quick Start WizardItem Type名...

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

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

CakeDC(cakephp company)Git workflow--适合于较大团队大型项目开发

CakeDC Git workflow是一个项目开发和版本发布的工作流,在这个工作流程中开发和版本发布周期是基于几个关键阶段(key phases): Development: 所有活跃的...

我们为什么需要Windows Workflow Foundation?

今年10月的时候在北京的微软MVP大会上我做了一个关于.NET Framework 4.0中的Workflow的讲座。一场讲座下来给我明显的感觉的大部分的工程师对Windows Workflow Fo...

ArcGIS教程:什么是 Workflow Manager

ArcGIS Workflow Manager 是企业工作流管理应用程序,为 ArcGIS 多用户地理数据库环境提供集成框架。它从多方面简化作业管理和追踪,并简化工作流,显著减少了实施所需的时间。Wo...

浅谈 Dynamics Ax2012 的workflow -- Participant

Participant 类型的workflow允许用户将自定义的workflow设置为只拥有特定角色的用户去运行。但在实际的配置过程中会经常的出错,主要原因是开发者仅仅只是给了这些特定用户权限而忘记在...

SharePoint 2013 SharePoint designer 2013 workflow开发综合实例

本文讲述一个SharePoint 2013 SharePoint designer 2013 workflow开发综合实例.
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Workflow Recovery
举报原因:
原因补充:

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