...
- 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.
Jobactivate_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 | ||||||
---|---|---|---|---|---|---|
| ||||||
<?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 | ||||||
---|---|---|---|---|---|---|
| ||||||
<?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> |
...