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
deadlinecommand
, deadlineCommand
and DeadlineCommand
are all equivalent.deadlinecommand
to ensure cross-platform compatibility with Linux and macOS operating systems!Note
-Help
command to make the examples easier to read.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.
See also
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.
- First you will need to specify a Connection Type, either
Direct
(to use the traditional Repository path), orRemote
(to use a Remote Connection Server).
- 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.
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
See also
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
See also
GetSlaveNamesInPool for details.
Querying For Task Information¶
To query the Job with Job ID “546cc87357dbb04344a5c6b5” for Task information:
deadlinecommand -GetJobTasks 546cc87357dbb04344a5c6b5
See also
GetJobTasks for details.
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
deadlinecommand -SuspendJobNonRenderingTasks 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
See also
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
-To
, -Subject
, and -Message
options are required.-CC
and -Attachment
are optional.FAQ¶
What’s the difference between the deadlinecommand and deadlinecommandbg applications?
The
deadlinecommandbg
application is identical todeadlinecommand
, except that it is executed in the background. When usingdeadlinecommandbg
, the exit code and output are written to the Deadline temp directory asdsubmitexitcode.txt
anddsubmitoutput.txt
respectively. Please see Running Background Commands.