Overview

Deprecation Announcement

Use of Supervisor is deprecated since release 1.13.4. The functionality to deploy configuration items to both Primary and Backup Master instances is provided by JOC Cockpit. 

Therefore, a Supervisor still can be used, however, it is recommended to manage any job-related configuration with JOC Cockpit directly.


  • 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:

<register_remote_scheduler scheduler_id="scheduler-5000" tcp_port="5000" udp_port="5000" version="1.3.2251"/>

You can verify this in the scheduler.log file of your Supervisor JobScheduler.

The Workload JobScheduler will log the registration with the message

(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.:

<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.

You will see a message like this in the scheduler.log file of the Workload JobScheduler:

ERROR WINSOCK-10061  Socket is not connected - Connection refused [connect] [192.11.0.90:4444]

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:

sending UDP command check_folders to 192.11.0.79/dialin-0.sos:5000

It triggers the execution of the command

<check_folders/>

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.

The Workload JobScheduler will log this as follows:

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:

<check_folders/>

See also