Starting jobs on different servers using process classes for remote execution 

  • JobScheduler can execute jobs on different servers.
  • Such jobs can be distributed in a way that within one job chain the respective jobs are executed on different servers.

Example

  • A job chain contains 3 jobs, i.e. TaskB1, TaskB2, TaskB3. 

  • A user wants to configure TaskB1 to be executed on server ServerA (localhost), TaskB2 to be executed on server ServerB (Windows) and TaskB3 on server ServerC (Linux). 

  • JobScheduler can execute jobs on remote JobScheduler instances, by JobScheduler Agents or by SSH. 

  • In this example JobScheduler will execute jobs on remote JobScheduler instances using a process class. 

    • A JobScheduler process class is similar to a connection configuration where the remote JobScheduler's host name and port number are defined. 
    • With that process class being defined jobs can be configured to use the process class for remote execution.
    • JobScheduler will excute jobs on the remote JobScheduler instance and that instance will report back the status and the log to the local JobScheduler.

Diagram of Job Chain

Job: JobB1

<?xml version="1.0" encoding="ISO-8859-1"?>
<job  order="yes" 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"/>

See also: