Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor corrections to text, page formatted

...

You need 2 JobScheduler objects on your local JobSchedulerJobSchedProcess Classesuler, a Process Class and a Job. You can use the JobScheduler's editor JOE to create these objects in your local Hot Folder (./live) or you can create the objects using a code editor and the XML listed here.

...

  • Object 1: Process Class

    In the process class (e.g. with the name 'remote') you must define the host and port of the remote JobScheduler, so a file ./live/remote.process_class.xml is generated with the content:

    Code Block
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <process_class max_processes="10"
                remote_scheduler="[your remote host]:[your remote tcp port]"/>

    See the Process Classes article for more information about process classes.

  • Object 2: Job

    In the job (e.g with the name 'remote' as independent job and the title 'Remote Execution') you must set the above process class, so a file ./live/remote.job.xml is generated with the content:

    <
    Code Block
     <?xml version="1.0" encoding="ISO-8859-1"?>
    <job process_class="/remote" title="Remote Execution">
          <script language="shell"><![CDATA[
    echo "remote execution"
          ]]></script>
          <run_time/>
    </job>

    Note that the job could also be configured as an order job for a job chain.

...

  • a JobScheduler is running at on the remote host [your remote host] with the port [your remote tcp port]

  • the security element elements (see ./config/scheduler.xml) of your local JobScheduler and your remote JobScheduler allows JobSchedulers allow the communication

    local
    Code Block
     local:
    <security ignore_unknown_hosts = "yes">
    ...
    <allowed_host host = "[your remote host]" level = "all"/>
    ...
    </security>
    remote:
    <security ignore_unknown_hosts = "yes">
    ...
    <allowed_host host = "[your local host]" level = "all"/>
    ...
    </security>
    
                          
  • if a firewall is used then it must also be configured such to allow the communication is allowed.

You can find more information here:
  • How can I configure a job chain on multiple hosts?. This solution will also work for standalone jobs.
  • Another solution is central configuration. A supervisor will deploy job configurations to workload JobSchedulers. These workload JobSchedulers execute their jobs independently, so if the machine of the supervisor goes down, the workload Schedulers can continue working, however jobs have to be monitored in each Scheduler seperately.