如何使用Checkpiont呢,首先要设置包的3个属性:
- CheckpointFileName="c:/MyCheckpoint.txt" //Checkpiont记录的文件位置
- CheckpointUsage=IfExists //使用方式
- SaveCheckpoints=TRUE
另外还有一个属性FailPackageOnFailure ,这个属性不单是包有,其它control Flow也有。
假设有上图这么一个项目,不同设置效果也不同。
现在中间的步骤一定会出错。看看不同设置的结果:
Package.FailPackageOnFailure | "Failure".FailPackageOnFailure | Resultant behaviour |
---|---|---|
False | False | 没有checkpoint文件产生 下次执行从 "Success1"开始 |
False | True | 有 checkpoint 文件产生 下次执行从 "Failure"开始 |
True | False | 有 checkpoint 文件产生 下次执行从"Success2"开始 |
True | True | 有 checkpoint 文件产 下次执行从"Failure"开始 |
这个结果可以看出,如果失败组件需要重新被执行,那么这个组件的FailPackageOnFailure一定要设为true,这一点非常非常重要。