Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Under construction.........
General
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
...
JOE diagram of JobChain
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_chain visibleorder="yes" orders_recoverabletitle="yesTaskB1 ServerA (Windows)" titleprocess_class="JobChainA_PServerA"> <job_chain_node<script statelanguage="Start" job="/sos/jitl/JobChainStart" next_state="Split" error_state="Error"/> <job_chain_node state="Split" job="/sos/jitl/JobChainSplitter" next_state="Sync" error_state="Error"/> <job_chain_node state="Split:Job01_P1" job="Job01_P1" next_state="Sync" error_state="Error"/> <job_chain_node state="Split:Job02_P2" job="Job02_P2" next_state="Sync" error_state="Error" delay="30"/> <job_chain_node state="Split:Job03_P3" job="Job03_P3" next_state="Sync" error_state="Error"/> <job_chain_node state="Sync" job="Sync_job_chain_parallel" error_state="Error" next_state="Job04"/> <job_chain_node state="Job04" job="Job04" next_state="End" error_state="Error"/> <job_chain_node state="End" job="/sos/jitl/JobChainEnd" next_state="Success" error_state="Error"/> <job_chain_node state="Success"/> <job_chain_node state="Error"/> </job_chain> 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"/>
|
See also:
- Our Job Chains article, which provides a good introduction to the subject of Job Chain configuration.
- The documentation for our SOSSSHJob2JSAdapter Template Job.