General
JobScheduler can execute distributed jobs on different servers. Example JobChain contains 3 jobs i.e. TaskB1, TaskB2, TaskB3. User want to configure that TaskB1 runs on the server ServerA ( localhost) , TaskB2 runs in server ServerB(Windows) and TaskB3 ServerC(Linux). JobScheduler can execute jobs on remote JobScheduler instance, {{JS} Agents or over SSH. In this example JobScheduler will execute jobs on remote JobScheduler instances using process class. JobScheduler process_class is like a connection configuration where remote JobScheduler's host name and port number is defined. Once process_class is defined Job's can be configured to use process_class assigned to remote JobScheduler as target.
JOE diagram of JobChain
Job JobB1
<?xml version="1.0" encoding="ISO-8859-1"?> <job order="yes" stop_on_error="no" title="TaskB1 ServerA (Windows)" process_class="ServerA"> <script language="shell"> <![CDATA[ @echo off echo here is job %SCHEDULER_JOB_NAME% set /a number=%random% %%30 +1 echo "%SCHEDULER_JOB_NAME% :sleeping for %number% seconds....." set computername set os ping 127.0.0.1 -n %number% > nul ]]> </script> <run_time /> </job>
Process_Class : ServerA
<?xml version="1.0" encoding="ISO-8859-1"?> <process_class max_processes="10" remote_scheduler="8of9:4441"/>