当作业重新启动时,仅再次运行失败的分区。如何再次运行已成功完成的作业?
再次提交作业和重新启动作业有区别吗?
我正在 Websphere Liberty 上使用 IBM 的 JSR 352 实现。
Java Batch 的设计使得当您重新启动作业实例时,执行会从您上次中断的位置(在先前失败或停止的执行中)继续执行。
所以通常这意味着两件事:
- 在作业中,您从之前失败的步骤(或作业停止的步骤)开始。
- 在该步骤中,您首先使用批处理容器保存的检查点值定位输入光标。
因此,如果您在初次执行时完成了step1然后失败于step2在记录 #4123 处,并且每 100 条记录设置检查点,然后在重新启动时,您通常会开始执行step2记录#4100。
某些情况下需要执行step1在重新启动时以及执行之前step2之前作业失败的地方,并且也可以选择获得此行为。
通常会按计划重复提交/启动作业。
在批次规格方面,新作业实例每次启动作业时都会创建。此时初始作业执行为了这作业实例被建造。如果执行没有运行完成,实例可能会重新启动,此时第二次作业执行为此创建作业实例.
因此重新启动会使用之前的检查点和执行历史记录作业执行而一切都是从头开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)