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.
deadlinecommand application accepts the command line arguments in the following forms:
No special characters, for example
The command argument can be prefixed with a hyphen, for example
The command argument can be prefixed with a double hyphen, for example
In addition, the command arguments are Case-Insensitive on all operating systems. This means that
are all equivalent.
DeadlineCommandare all equivalent.
deadlinecommandto ensure cross-platform compatibility with Linux and macOS operating systems!
-Helpcommand 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.
deadlinecommandbg, the output and exit code are written to the Deadline temp folder as
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.
deadlinecommandbg -outputFiles c:\output.txt c:\exitcode.txt -Pools
You can find the
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
To get usage information for a specific command, specify the command name after the
deadlinecommand -Help SubmitCommandLineJob
The output will look like
Deadline Client Version 10.1.13.2 Release (4c7391f76) FranticX Client Version 184.108.40.206 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.
Secrets Management Sub-Command¶
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
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:
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.
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), or
Remote(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
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
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
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
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
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 firstname.lastname@example.org(cc email@example.com):
deadlinecommand -SendeMail -To firstname.lastname@example.org -CC email@example.com -Subject "the subject" -Message "C:\MyMessage.html"
To send the same message with the attachment “C:\MyAttachment.txt”:
deadlinecommand -SendeMail -To firstname.lastname@example.org -CC email@example.com -Subject "the subject" -Message "C:\MyMessage.html" -Attach "C:\MyAttachment.txt"
-Messageoptions are required.
What’s the difference between the deadlinecommand and deadlinecommandbg applications?
deadlinecommandbgapplication 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
dsubmitoutput.txtrespectively. Please see Running Background Commands.