job_chain

JOB链:JOB之间的相互触发操作。

实验意图:有些JOB具有先后调用次序,比如先做一件事情,这件事情做完才能继续下一件事情,而第一个JOB如果自己挂掉的话,第二个JOB需要正常运行(默认是终止),这时就需要配置JOB链,在错误的情况下不终止。

实验步骤:创建2个JOB,test1和test2,第一个需要出异常,第二个正常。

第一个JOB(test1.job.xml)配置如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<job stop_on_error="no" title="Test1." order="yes">
  <script language="shell"><![CDATA[
Call D:ApplicationEnterpriseShare.CoreETLRuntimeinTest1_run.bat
        ]]></script>
</job>

第一个JOB(test2.job.xml)配置如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<job stop_on_error="no" title="Test2" order="yes">
  <script language="shell"><![CDATA[
Call D:ApplicationEnterpriseShare.CoreETLRuntimeinTest2_run.bat
        ]]></script>
</job>

JOB链配置(Test.job_chain.xml)如下:

<?xml version="1.0" encoding="ISO-8859-1"?>


<job_chain  orders_recoverable="yes" visible="yes" title="ESD_Cost_Schedule">
    <job_chain_node  state="1" job="/test/test1" next_state="2" error_state="2"/>

    <job_chain_node  state="2" job="/test/test2" next_state="end"/>

    <job_chain_node  state="end"/>
</job_chain>

JOB Order配置(Test,Test.order.xml)如下:

<?xml version="1.0" encoding="ISO-8859-1"?>


<order >
    <params />

    <run_time  let_run="yes" once="yes">
        <period  let_run="yes" repeat="00:03" begin="00:00" end="24:00" when_holiday="ignore_holiday"/>

        <holidays />
    </run_time>
</order>

三分钟跑一次。

结果:

当第一个job出现异常时,第二个还能继续运行。

原文地址:https://www.cnblogs.com/madyina/p/4001801.html