Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
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
Code Block | ||
---|---|---|
| ||
<?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
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="ISO-8859-1"?> <process_class max_processes="10" remote_scheduler="8of9:4441"/> |