Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • In such a exceptional situation to achieve the business process goals with adherence to the SLA, some jobs can be excluded from the business process (job chains).
  • A non critical job can be marked in a job chain either "-" skippable or "+" critical job during job chain development.
  • If a situation arises where part of the job chain has to be skipped, JobScheduler admin can start the  job activate_critical_path.job.xml. Job activate_critical_path.job.xml  will search through the JobScheduler configuration and set the non-critical job(s) as skip.
  • A job chain with non-critical job(s) set to skip by all the Orders( manually/scheduled )
  • Once business process completes only with  critical job, the job chains original state can be reset by the job deactivate_critical_path.job.xml

Example Job Chain

Code Block
languagexml
titleJob chain critical path
collapsetrue
<?xml version="1.0" encoding="iso-8859-1"?>
<job_chain  orders_recoverable="yes" visible="yes" title="JobChainA" max_orders="3">
    <job_chain_node  state="Start" job="/sos/jitl/JobChainStart" next_state="-100" error_state="End_Err"/>
    <job_chain_node  state="-100" job="01_TaskA1" next_state="200" error_state="End_Err"/>
    <job_chain_node  state="200" job="01_TaskA2" next_state="-300" error_state="End_Err"/>
    <job_chain_node  state="-300" job="01_TaskA3" next_state="400" error_state="End_Err"/>
    <job_chain_node  state="400" job="01_TaskA4" next_state="500" error_state="End_Err"/>
    <job_chain_node  state="500" job="01_TaskA5" next_state="End_Suc" error_state="End_Err"/>
    <job_chain_node  state="End_Suc" job="/sos/jitl/JobChainEnd" next_state="Success" error_state="Error"/>
    <job_chain_node  state="End_Err" job="/sos/jitl/JobChainEnd" next_state="Error" error_state="Error"/>
    <job_chain_node  state="Error"/>
    <job_chain_node  state="Success"/>
</job_chain>

...

  • In such a exceptional situation job chain can have first node of the chain which checks the current time and if it finds late arrival of the file, triggers the job activate_critical_path.job.xml for specific job chain.
  • Once process finishes successfully the last node of the job chain can start the job deactivate_critical_path.job.xml which will reset the job chain status back to normal with all the jobs set to executed. 

...

Example Job Chain

Code Block
languagexml
titleJob chain critical path Dynamic
collapsetrue
<?xml version="1.0" encoding="iso-8859-1"?>
<job_chain  orders_recoverable="yes" visible="yes" title="JobChainA" max_orders="3">
    <job_chain_node  state="Start" job="/sos/jitl/JobChainStart" next_state="-100" error_state="End_Err"/>
    <job_chain_node  state="activate_critical_path" job="/sos/operations/activate_critical_path" next_state="-100" error_state="End_Err"/>
    <job_chain_node  state="-100" job="01_TaskA1" next_state="200" error_state="End_Err"/>
    <job_chain_node  state="200" job="01_TaskA2" next_state="-300" error_state="End_Err"/>
    <job_chain_node  state="-300" job="01_TaskA3" next_state="400" error_state="End_Err"/>
    <job_chain_node  state="400" job="01_TaskA4" next_state="500" error_state="End_Err"/>
    <job_chain_node  state="500" job="01_TaskA5" next_state="End_Suc" error_state="End_Err"/>
    <job_chain_node  state="deactivate_critical_path" job="/sos/operations/deactivate_critical_path" next_state="End_Suc" error_state="End_Err"/>
    <job_chain_node  state="End_Suc" job="/sos/jitl/JobChainEnd" next_state="Success" error_state="Error"/>
    <job_chain_node  state="End_Err" job="/sos/jitl/JobChainEnd" next_state="Error" error_state="Error"/>
    <job_chain_node  state="Error"/>
    <job_chain_node  state="Success"/>
</job_chain>

...