Slave

Overview

The Slave is the application that controls the rendering applications and should be running on any machine you want to to include in the rendering process.

../_images/slave.png

Running the Slave

To start the Slave:

  • On Windows, you can start the Slave from the Start Menu under Thinkbox\Deadline, or from the Launcher’s right-click menu.
  • On Linux, you can start the Slave from a terminal window by running the deadlineslave script in the bin folder, or from the Launcher’s right-click menu.
  • On Mac OS X, you can start the Slave from Finder by running the DeadlineSlave application in Applications/Thinkbox/Deadline, or from the Launcher’s right-click menu.

You can also configure the Slave to launch automatically when the Launcher starts up. To enable this, just enable the Launch Slave At Startup option in the Launcher menu.

The Slave can also be started from a command prompt or terminal window. For more information, see the Slave Command Line documentation.

Licensing

The Slave requires a license to run, and more information on setting up licensing can be found in the Licensing Guide.

The Slave only requires a license while rendering. If a Slave cannot get a license, it will continue to run, but it won’t be able to pick up jobs for rendering. In addition when a Slave becomes idle it will return it’s license. The Slave’s licensing information can be found under the Slave Information tab (see next section).

If you have more then one Slave running on a machine they will all share the same licence.

Job and Slave Information Tabs

The Job Information tab shows information about the job currently being rendered. By default, the tab will show information about all render threads combined, but the drop down control gives the option to show information about a specific render thread. The Slave Information tab shows information about the Slave and the machine that it’s running on, including license information and resource usage (CPU and memory).

../_images/slave_slave_info.png

Viewing the Slave Log

To view the Slave’s current log, simply press the Open Slave Log button at the bottom of the Slave window. This will open the Slave’s log in a new window to avoid impacting the performance of the main Slave application.

../_images/slave_log.png

If the Slave is running in the background or without an interface, you can connect to the Slave’s log from the command line. In a command prompt or terminal window, navigate to the Deadline bin folder (Windows or Linux) or the Resources folder (Mac OS X) and run the following, where “SLAVENAME” is the name of the Slave you want to connect to:

deadlinecommand -ConnectToSlaveLog "SLAVENAME"

Slave Menu Options

The available options are listed below. They are available in the Slave’s window, or from the Slave system tray icon’s right-click menu. Note that if the Slave is running in the background or without an interface, these options will be unavailable.

File Menu

Change License Server

Change the license server that the Slave connects to.

Options Menu

Hide When Minimized

The Slave is hidden when minimized, but can be restored using the Slave icon in the system tray.

Minimize On Startup

Starts the Slave in the minimized state.

Control Menu

Search For Jobs

If the Slave is sitting idle, this option can be used to force the Slave to search for a job immediately.

Cancel Current Task

If the Slave is currently rendering a task, this forces the Slave to cancel it.

Continue Running After Current Task Completion

Check to keep the Slave application running after it finishes its current task completion.

Stop/Restart Slave After Current Task Completion

Check to stop or restart the Slave application after it finishes its current task.

Shutdown/Restart Machine After Current Task Completion

Check to shutdown or restart the machine after the Dealine Slave finishes its current task.

Please note that specific configuration should be done for Linux machines to allow them to shutdown or reboot themselves after a task has completed. See Rebooting Linux Nodes for a few ideas.

Command Line Options

To run the Slave from a command prompt or terminal window, navigate to the Deadline bin folder (Windows or Linux) or the Resources folder (Mac OS X) and run the ‘deadlineslave’ application. To view all available command line arguments, you can run the following:

deadlineslave -help

Available Options

To start a new instance of the Slave, use the -name option. If you already have multiple instances of the Slave configured, use the -name option to start a specific instance:

deadlineslave -name "second-slave"

To start the Slave without a user interface, use the -nogui option:

deadlineslave -nogui

To start the Slave without the splash screen, use the -nosplash option:

deadlineslave -nosplash

To shut down the Slave if it’s already running, use the -shutdown option. This can be combined with the -name option if you have more than one Slave instance running and you want to shut down a specific instance:

deadlineslave -shutdown
deadlineslave -shutdown -name "second-slave"

To control what a running Slave should do after it finishes rendering its current task, use the -aftertask option. The available options are Continue, StopSlave, RestartSlave, ShutdownMachine, or RestartMachine. This can be combined with the -name option if you have more than one Slave instance running and you want to control a specific instance:

deadlineslave -aftertask RestartSlave
deadlineslave -aftertask RestartMachine -name "second-slave"

Slave Local Data Storage

When a Slave starts a job, it temporarily creates a local copy of the job’s “plugins” and “jobsData” folders, which are purged before starting the next job. Here are the default local path locations for your slave(s):

  • Windows: %LOCALAPPDATA%\Thinkbox\Deadline[VERSION]\slave\[SLAVENAME]
  • Linux: ~/Thinkbox/Deadline[VERSION]/slave/[SLAVENAME]
  • OS X: ~/Library/Application Support/Thinkbox/Deadline[VERSION]/slave/[SLAVENAME]

Note that the [VERSION] in the path will change based on the Deadline version number, and [SLAVENAME] represents the slave’s name (to support multiple Slaves on the same machine).

This setting can be configured using Auto Configuration or via Client Configuration “SlaveDataRoot” INI setting. Note that this should be a local path to avoid conflicts and maintain performance.

FAQ

Can I run the Slave on an artist’s workstation?

Yes. On Windows and Linux, you can set the Affinity in the Slave Settings to help reduce the impact that the renders have on the artist’s workstation.

Can I run the Slave as a service or daemon?

Yes. If you’re running the Launcher as a service or daemon, then it will run the Slave in the background as well. See the Client Installation documentation for more information.

The Slave keeps reporting errors for the same job instead of moving on to a different job. What can I do?

You can enable Bad Slave Detection in the Repository Configuration to have a Slave mark itself as bad for a job when it reports consecutive errors on it.

What does it mean when a Slave is stalled, and is this a bad thing?

Slaves become stalled when they don’t update their status for a long period of time, and is often an indication that the Slave has crashed. A stalled Slave isn’t necessarily a bad thing, because it’s possible the Slave just wasn’t shutdown properly (it was killed from the Task Manager, for example). In either case, it’s a good idea to check the Slave machine and restart the Slave application if necessary.

On Linux, the Slave is reporting that the operating system is simply ‘Linux’, instead of showing the actual Linux distribution.

In order for the Slave to report the Linux distribution properly, you need to have lsb installed, and lsb_release needs to be in the path. You can use any package management application to install lsb.

On Linux, the Slave crashes shortly after starting up.

Please ensure you comply with our System Requirements for Linux.