kettle(Pentaho)job作业并行都执行完后再执行下一步的操作 | 您所在的位置:网站首页 › kettle执行日志 › kettle(Pentaho)job作业并行都执行完后再执行下一步的操作 |
我们在作业开发会遇到各种作业的执行逻辑,包括串行、并行、并行结束后再开始串行等; 本文章介绍job作业中如何并行执行完子job/转换后,才开始下一步作业的执行。 方法1:示例job如下: 其中通过wait for sql 实现了对并行流程的等待,建立了一张表用来判断。 delete record:在每次作业执行前把表清空。 insert first record:本支线的任务执行完,插入一条记录到表中。 insert second record:本支线的任务执行完,插入一条记录到表中。 wait for sql :等待两个并行支线都完成任务,对表进行判断,只有满足两条记录才会执行下一步。 maximum timeout:设置的等待时间,如果在此时间内不满足条件就会认为failed。 success on timeout:选中此项后,当超过maximum timeout时间后,也不会判failed,会判success。0表示不限时间。 注意事项: 为了避免并行的作业/转换任何一个失败,任务就卡住的情况,在两个并行的作业中加入了Abort,任何一个支线失败,整个任务就失败了。 方法2(简单,推荐)将示例中的job和job2两个并行的作业都嵌套到一个子作业即可实现两个作业并行,且job job2子作业都执行完再进行下一步的操作。 |
CopyRight 2018-2019 实验室设备网 版权所有 |