Distributed Scheduling Overview

The adTempus Distributed Scheduling feature allows you to manage jobs on a single Master instance of adTempus but execute the jobs on remote Agent computers that also have adTempus installed.

With Distributed Scheduling, users connect to the Master adTempus instance to manage jobs, and specify which Agents the jobs should run on. The Master then sends the jobs to the Agents for execution.

With Distributed Scheduling enabled, each Job Queue has options that determine how and where jobs assigned to that Queue will execute. Jobs can be executed on any combination of the Master and Agent computers.

Although jobs are sent to the Agents for execution, they are still managed through the Master, and the status and history for jobs running on Agents are reported back to the Master. Thus the Console shows the status and history of a job on all the Agents that it runs on. Jobs sent to an Agent from the Master cannot be modified on the Agent.

Distributed Scheduling Modes

Each Queue executes its jobs in one of three Distributed Scheduling modes: Mirror, Slave, or Load Balancing.

Note that the mode is set for a particular Queue and affects all jobs assigned to that Queue. Each Agent can run jobs from any number of Queues using any of the modes (that is, an Agent is not limited to executing in a single Distributed Scheduling mode).

Mirror

In Mirror mode, the job is copied to all of the Agents attached to the Queue. The trigger(s) for the job are then evaluated separately on each agent, so the job operates completely independently on each Agent. This mode is essentially equivalent to replicating jobs to the remote Agent. Since the jobs run completely independently of the Master, they are able to execute even if the Master adTempus instance is not running, or the network connection between the Master and Agent is lost.

Changes made to the job on the Master are sent to the affected Agents, and status and history changes from the Agents are sent back to the Master.

Slave

In Slave mode, the trigger(s) for the job are evaluated only on the Master. When the job is triggered, the Master sends the job to each Agent for execution. In this mode, jobs are pushed out to the Agent at execution time, so the Master computer must be running. If an Agent is not available at execution time, the Master can queue the execution command to be sent to the Agent when communications are re-established.

Load Balancing

In Load Balancing mode, the trigger(s) for the job are evaluated only on the Master. When the job is triggered, adTempus runs the job on only one of the computers (Master or Agents) assigned to the Queue. It selects the best computer based on the current load on each computer.

adTempus compares the load based on the criteria listed below, checking them in the order listed. If all available computers have the same load (within a tolerance range) for one criterion, adTempus moves on to the next, and so on, until a "best" target is found.

Evaluation criteria:

Averages are calculated over the previous 10 minutes with 5-second sampling intervals.