# Command¶

## Overview¶

The deadlinecommand application is a command line tool for the Deadline render farm management system. It can be used to control, query, and submit jobs to the farm.

## Syntax¶

The deadlinecommand application accepts the command line arguments in the following forms:

• No special characters, for example deadlinecommand help

• The command argument can be prefixed with a hyphen, for example deadlinecommand -help

• The command argument can be prefixed with a double hyphen, for example deadlinecommand --help

In addition, the command arguments are Case-Insensitive on all operating systems. This means that

• deadlinecommand help

• deadlinecommand Help

• deadlinecommand HELP

are all equivalent.

Warning

Microsoft Windows is naturally case-insensitive, so deadlinecommand, deadlineCommand and DeadlineCommand are all equivalent.
However, we recommend using lowercase deadlinecommand to ensure cross-platform compatibility with Linux and macOS operating systems!

Note

Throughout the documentation of the command line arguments, we use mostly the single hyphen and the capitalization listed by the -Help command to make the examples easier to read.
Feel free to use whatever syntax looks best to you.

## Running Background Commands¶

Deadline ships with a deadlinecommandbg application which is identical to deadlinecommand, except that it is executed in the background.

When using deadlinecommandbg, the output and exit code are written to the Deadline temp folder as dsubmitoutput.txt and dsubmitexitcode.txt respectively. If you want to control where these files get written to, you can use the -outputFiles option, followed by the paths to the output and exit code file names.

For example:

deadlinecommandbg -outputFiles c:\output.txt c:\exitcode.txt -Pools


You can find the deadlinecommand and deadlinecommandbg applications in the Deadline bin folder (Windows or Linux) or the Resources folder (macOS).

## Command Line Options¶

The supported command line options and their usage instructions can be printed out by running deadlinecommand from a command prompt or terminal with the optional -Help argument.

deadlinecommand -Help


or simply:

deadlinecommand


To get usage information for a specific command, specify the command name after the -Help argument:

deadlinecommand -Help SubmitCommandLineJob


The output will look like

Deadline Client Version 10.1.13.2 Release  (4c7391f76)
FranticX Client Version 2.4.0.0 Release  (68e44cb16)
A command line query and control application for the Deadline render queue system
c 2002-2021 Thinkbox Software Inc

SubmitCommandLineJob <executable [Value]> <arguments [Value]> <frames [Value]> <chunksize [Value]> <pool [Value]> <group [Value]> <priority [Value]> <name [Value]> <department [Value]> <initialstatus [Value]> <prop [Key=Value]>
Submits a generic command line job to Deadline. The <STARTFRAME> and
<ENDFRAME> strings in the command line arguments will be replaced with the
actual start and end frame for each task. The <QUOTE> string in the command
line arguments will be replaced with a '"' character.
executable [Value]       Required: The command line executable.
arguments [Value]        Optional: The command line arguments.
frames [Value]           Required: The frame range to render.
chunksize [Value]        Optional: The task chunk size.
pool [Value]             Optional: The pool the job belongs to.
group [Value]            Optional: The group the job belongs to.
priority [Value]         Optional: The job priority (0 is the lowest).
name [Value]             Optional: The job name.
department [Value]       Optional: The job department.
initialstatus [Value]    Optional: The job's initial state
(Active/Suspended).
prop [Key=Value]         Optional: Extra submission properties in the
form Key=Value.


For detailed documentation of available command line options, use the navigation bar on top of this page.

## Secrets Management Sub-Command¶

The Secrets sub-command can be used to perform Administrator Commands of Deadline Secrets Management. To get a list of available commands you can run:

deadlinecommand Secrets


## Long Command Lines¶

Some operating systems have a limit on the number of characters in an individual command line. This can cause problems if you are using deadlinecommand with a large number of command line options.

To work around this issue, you can create a text file with one command line option per line, and pass that file as the only argument to deadlinecommand or deadlinecommandbg.

For example, you can create a file called args.txt that looks like this:

-SubmitMultipleJobs
-Dependent
-Job
\\path\to\job_1_info_file.txt
\\path\to\job_1_plugin_file.txt
-Job
\\path\to\job_2_info_file.txt
\\path\to\job_2_plugin_file.txt
-Job
\\path\to\job_3_info_file.txt
\\path\to\job_3_plugin_file.txt


You would then pass it to deadlinecommand like this:

deadlinecommand args.txt


Note the inclusion of the extra -Dependent flag above which makes each job in the list of jobs specified dependent on the previous job. This is shorthand for specifying -DependsOnPrevious for each job being submitted.

Warning

Remember to remove the -Dependent flag if you wish your jobs to process potentially in parallel to each other depending on your job scheduling order.

## Running Commands for a Specific Repository¶

Any command can be run against a specified Deadline Repository. To do this, run the RunCommandForRepository command. RunCommandForRepository takes in 2 arguments in addition to a command and its arguments.

1. First you will need to specify a Connection Type, either
• Direct (to use the traditional Repository path), or

• Remote (to use a Remote Connection Server).

2. Then you will need to specify a Connection String. A Connection String is either
• a path to a Repository, or

• the URL, port and certificate to a Remote Connection Server.

3. Enter the command you would like to run with all of its usual arguments.

For example, this is how you would run GetUserNames on a traditional, direct, Deadline Repository connection:

deadlinecommand RunCommandForRepository Direct \\Deadline\demo10 GetUserNames


To run NewUserGroups where ‘groupName’ is the name of the Group being added to the Deadline Repository via a Remote Connection Server at ‘demo.thinkboxsoftware.com’:

deadlinecommand RunCommandForRepository Remote demo.thinkboxsoftware.com:7890(\path\to\certificate.crt) NewUserGroups groupName


## Usage Examples¶

### Submitting a Job¶

Submitting a Job does not require a dedicated Command argument - only the Job submission files are required, followed by any optional auxiliary files.

To submit a 3ds Max scene (ie. C:\MyScene.max), you must first create a Job submission info file (ie. C:\job_info.job) and a 3dsmax plugin info file (ie. C:\max_info.job). See the Manual Job Submission documentation for more information.

Once the files are created, you can submit the Job using this command:

deadlinecommand "C:\job_info.job" "C:\max_info.job" "C:\MyScene.max"


### Querying For Jobs Using Filters¶

To query the Database for all Jobs that belong to jsmith or cdavis:

deadlinecommand -GetJobsFilter UserName=jsmith UserName=cdavis


To query for all of jsmith’s jobs with completed status:

deadlinecommand -GetJobsFilterAnd UserName=jsmith Status=completed


GetJobsFilter and GetJobsFilterAnd for details.

### Checking Which Workers Assigned To A Specific Pool¶

To check which Workers are assigned to the 3dsmax pool:

deadlinecommand -GetSlaveNamesInPool 3dsmax Assigned


To check which Workers are excluded from the Nuke pool:

deadlinecommand -GetSlaveNamesInPool Nuke Excluded


GetSlaveNamesInPool for details.

### Querying For Task Information¶

To query the Job with Job ID “546cc87357dbb04344a5c6b5” for Task information:

deadlinecommand -GetJobTasks 546cc87357dbb04344a5c6b5


### Retrieving and Changing Job Status¶

To retrieve the Status of the Job with ID “546cc87357dbb04344a5c6b5”:

deadlinecommand -GetJob 546cc87357dbb04344a5c6b5


To retrieve all Job details:

deadlinecommand -GetJobDetails  546cc87357dbb04344a5c6b5


To suspend the Job:

deadlinecommand -SuspendJob 546cc87357dbb04344a5c6b5


To resume the job:

deadlinecommand -ResumeJob 546cc87357dbb04344a5c6b5


To requeue the job:

deadlinecommand -RequeueJob 546cc87357dbb04344a5c6b5


To delete the job:

deadlinecommand -DeleteJob 546cc87357dbb04344a5c6b5


To archive the job:

deadlinecommand -ArchiveJob 546cc87357dbb04344a5c6b5


Modify Job States for details on the above commands, and more commands related to modifying the Job Status.

### Sending An Email¶

To send the message to jsmith@mycompany.com(cc cjones@mycompany.com):

deadlinecommand -SendeMail -To jsmith@mycompany.com -CC cjones@mycompany.com
-Subject "the subject" -Message "C:\MyMessage.html"


To send the same message with the attachment “C:\MyAttachment.txt”:

deadlinecommand -SendeMail -To jsmith@mycompany.com -CC cjones@mycompany.com
-Subject "the subject" -Message "C:\MyMessage.html" -Attach "C:\MyAttachment.txt"


Note

The -To, -Subject, and -Message options are required.
The other options like -CC and -Attachment are optional.

## FAQ¶

What’s the difference between the deadlinecommand and deadlinecommandbg applications?

The deadlinecommandbg application is identical to deadlinecommand, except that it is executed in the background. When using deadlinecommandbg, the exit code and output are written to the Deadline temp directory as dsubmitexitcode.txt and dsubmitoutput.txt respectively. Please see Running Background Commands.