Slave Scheduling

Overview

You can use the Slave Scheduling feature to configure when Slaves applications should be launched and shut down. Slave Scheduling is controlled by the Launcher, so the Launcher must be running on the machines for Slave Scheduling to work.

If a slave is scheduled to start on a machine, a notification message will pop up for 30 seconds indicating that the slave is scheduled to start. If someone is still using the machine, they can choose to delay the start of the slave for a certain amount of time.

Configuration

Slave Scheduling can be configured from the Monitor by selecting ‘Tools’ -> ‘Configure Slave Scheduling’. You will need to be in Super User mode for this, if you are not part of a User Group that has access to this feature.

../_images/slave_scheduling.png

Machine Groups are used by Slave Scheduling to organize Slave machines on the farm, and each group can have different scheduling settings. To add a new Machine Group, simply click the Add button in the Machine Group section.

../_images/add_slave_scheduling.png

Slave Scheduling Group Settings:

  • Group Name: The name with which the Slave Scheduling Group will be identified.
  • Group Mode: Whether this particular Group is enabled or disabled.
  • Include All Slaves in this Group: If enabled, all slaves will be included in this group.
  • Unassigned Slaves: The Slaves that will not be part of this Group.
  • Slaves In Group: Slaves that will be part of this Group.

To edit the scheduling settings within a group, simply click on the group in the Machine Groups list.

Slave Scheduling

These settings are used to define the schedule for when slaves should start and stop.

  • Ensure Slave Is Running During Scheduled Hours: If enabled, slaves will be restarted if they are shut down during the scheduled hours.
  • Day of the Week: Configure which days of the week you want to set a schedule for.
  • Start Time: The time on the selected day that the Slave application should be launched if it is not already running.
  • Stop Time: The time on the selected day that the Slave application should be closed if it is running.

Idle Detection

These settings are used to launch the slave if the machine has been idle for a certain amount of time (“idle” means no keyboard, mouse, tablet or spaceball input). There is also additional criteria that can be checked before launching the slave, including the machine’s current memory and CPU usage, the current logged in user, and the processes currently running on the machine. Finally, this system can stop the slave automatically when the machine is no longer idle.

  • Start Slave When Machine Is Idle For ___ Minutes: If enabled, the Slave will be started on the machine if it is idle. A machine is considered idle if there hasn’t been any keyboard or mouse activity for the specified amount of time.
  • Stop Slave When Machine Is No Longer Idle: If enabled, the Slave will be stopped when the machine is no longer idle. A machine is considered idle if there hasn’t been any keyboard or mouse activity for the specified amount of time.
  • Only Stop Slave If Started By Idle Detection: If enabled, the Slave will only be stopped when the machine is no longer idle if that Slave was originally started by Idle Detection. If the Slave was originally started manually, it will not be stopped.

There are some limitations with Idle Detection depending on the operating system:

  • On Windows, Idle Detection will NOT work if the Launcher is running as a service. This is because the service runs in an environment that is separate from the Desktop, and has no knowledge of any mouse or keyboard activity.
  • On Linux, the Launcher uses X11 to determine if there has been any mouse or keyboard activity. If X11 is not available, Idle Detection will NOT work. One such situation is when the launcher is run as a daemon.

Note that Idle Detection can be overridden in the Local Slave Controls so that users can configure if their local slave should launch when the machine becomes idle.

Miscellaneous Options

These settings are applied to both Slave Scheduling and Idle Detection.

  • Only Start Slave If CPU Usage Less Than ___%: If enabled, the slave will only be launched if the machine’s CPU usage is less than the specified value.
  • Only Start Slave If Free Memory More Than ___ MB: If enabled, the slave will only be launched if the machine has more free memory than the specified value (in Megabytes).
  • Only Start Slave If These Processes Are Not Running: If enabled, the slave will only be launched if the specified processes are not running on the machine.
  • Only Start If Launcher Is Not Running As These Users: If enabled, the slave will only be launched if the launcher is not running as one of the specified users.
  • Allow Slaves to Finish Their Current Task When Stopping: If enabled, the Slave application will not be closed until it finishes its current Task.