Under Construction .........
General
JobScheduler Can handle dependencies on JobChain, Job, Task or Order Level. One can define pre-processing and post-processing on Job level
to check if required resources are available i.e. records in DB, previous job produced required output etc. Post-processing can be used to check if processing was successful, required results are produced or to decide next processing step i.e. if total records are more then 1 Million start DB index job else skip DB index job. So pre-processing can also be used to set environment variables, communicate with other JobScheduler instance etc.
JobScheduler have default job CheckRunHistory to check if particular task/job was executed successfully during defined time i.e. last 24 hours.
This example jobchain will have first node as CheckRunHistory to check if JobA1 was successfully executed in last 24 hours.
In simple example JobChain will abort and will end in error stat, but as per as requirement more complicated scenarios can be configured i.e. wait for 2 hours , send a alert or start another job. By Using JobScheduler configuration and internal API many more possibly execution path can be defined.
JOE diagram of JobChain
Job CheckRunHistiry
<?xml version="1.0" encoding="ISO-8859-1"?> <job title="Checks the last job run" order="yes" stop_on_error="no"> <settings > <mail_on_error ><![CDATA[yes]]></mail_on_error> <mail_on_warning ><![CDATA[yes]]></mail_on_warning> <log_level ><![CDATA[debug9]]></log_level> </settings> <params > <param name="JobName" value="Demo/MoneySuperMarket/Scenario03/JobA1"/> <param name="start_time" value="-1"/> <param name="message" value="The Job 1. \$\{JOB_NAME\} 2. [JOB_NAME] was not running successfully today until 15:00h "/> </params> <script language="java" java_class="sos.scheduler.CheckRunHistory.JobSchedulerCheckRunHistoryJSAdapterClass"/> <run_time /> </job>