Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinh1. true
outlinh1. true
1printablefalse
2stylh1. none
3indent20px

Overview

  • To exchange the configuration between a Supervisor JobScheduler and connected JobScheduler instances you have to open the incoming port for any JobScheduler instance to the Supervisor instance.
  • Assume you have configured your Supervisor JobScheduler with port 4440 and your Workload JobScheduler with port 5000. Then you have to be open the incoming TCP connection for port 4440 of the Supervisor and the incoming UDP connection for port 5000 of your Workload JobScheduler.
  • See http://www.sos-berlin.com/doc/en/scheduler.doc/xml/config.xml#attribute_supervisor for more about the remote configuration.

The outgoing ports used by JobScheduler are determined by the OS, therefore it is not predetermined which port numbers will be used.

Central Configuration

Remote

How to configure the firewall?

Starting from the above example you have to configure the follwing rules in the firewall:

  • allow incoming TCP from Workload JobScheduler to Supervisor JobScheduler at port 4440
  • allow incoming UDP from Supervisor JobScheduler to Workload JobScheduler at port 5000

Detailed workflow of central configuration

What happens if UDP does not work?

The Supervisor JobScheduler uses UDP as a "wake-up call" to the Workload JobScheduler to speed up the process of updating. Independently of the UDP call, the Supervisor JobScheduler sends the configuration from time to time to the Workload JobScheduler.

What happens if the Workload JobScheduler comes up and the Supervisor JobScheduler is present?

(1) register client

First the Workload JobScheduler will establish the connection to the Supervisor JobScheduler and will register itself. To do so it sends the following command to the Supervisor JobScheduler:

...

Code Block
(Supervisor_client 192.11.0.90/aragorn.sos:4440) SCHEDULER-950  Scheduler has been registered

(2) send file list

Immediately afterwards the Supervisor JobScheduler sends a list of all relevant remote configuration files to the registered Workload JobScheduler, e.g.:

Code Block
<supervisor.remote_scheduler.configuration.fetch_updated_files>
  <configuration.directory name="stresstest">
    <configuration.file name="order_creator.job.xml" last_write_time="2012-09-21T12:52:46.000Z" md5="7df1d94be68af8b4e26d93be876f7757"/>
    <configuration.file name="order_creator.job_chain.xml" last_write_time="2012-09-21T12:52:46.000Z" md5="a544225718e4f81deaeebe8db461f771"/>
    <configuration.file name="unix_job.job.xml.bak" last_write_time="2012-09-21T12:52:46.000Z" md5="e531680927dd17b7a1ed89a389bb7a82"/>
    <configuration.file name="unlimited.process_class.xml" last_write_time="2012-09-21T12:52:46.000Z" md5="870a71a918e60b5635e8e363b9b6953a"/>
  </configuration.directory>
</supervisor.remote_scheduler.configuration.fetch_updated_files>

(3) fetch configuration

The Workload JobScheduler will update its configuration receiving the files from the Supervisor JobScheduler.

Later on this registration message will be sent every 60 seconds to the Workload JobScheduler.

What happens if the Workload JobScheduler comes up and the Supevisor JobScheduler is not present?

The Workload JobScheduler is not able to connect to the Supervisor JobScheduler and will work with the latest configuration previously loaded from the Supervisor JobScheduler.

...

On a Linux system you'll get a differente message code, but the same message.

What happens if something was changed in the remote folder?

(4) signal changes

The Supervisor JobScheduler indicates changes in its remote folder with a UDP message sent to the Workload JobScheduler:

...

from the Workload JobScheduler that causes the synchronisation of the local copies of the remote configuration files.

(2) send file list

Independently of the UDP call, the Supervisor JobScheduler sends the configuration from time to time (appr. every 60 seconds) to the Workload JobScheduler.

...

Code Block
sos::scheduler::directory_observer::Directory_observer::async_continue_ check configuration directory C:/ProgramData/sos-berlin.com/JobScheduler/scheduler-5000/config/live/

Request the configuration from the Supervisor JobScheduler via xml command

It is possible to receive the current configuration from the Supervisor JobScheduler with the following xml command:

Code Block
<check_folders/>

See also

...