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.
There is also 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 (Mac OS X).
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 ‘-help’ argument.
deadlinecommand -help
To get usage information for a specific command, specify the command name after the -help argument:
deadlinecommand -help SubmitCommandLineJob
Long Command Lines¶
Some operating systems have a limit on the number of characters that an individual command line can consist of, which can cause problems if you are using deadlinecommand with a large number of command line options. To workaround 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. Remember to remove this 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. Firstly, you will need to specify a Connection Type, be that ‘Direct’ (to use the traditional Deadline repository path) or ‘Proxy’ (to use a Deadline Proxy Server). Secondly, 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 Proxy Server. Lastly, 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:
deadlinecommand RunCommandForRepository Direct \\deadline\demo8 GetUserNames
To run ‘NewUserGroups’ on a Proxy Server, where ‘groupName’ is the name of the group being added to the Deadline Repository via Proxy Server at demo.thinkboxsoftware.com:
deadlinecommand RunCommandForRepository Proxy demo.thinkboxsoftware.com:7890(\path\to\certificate.crt) NewUserGroups groupName
Usage Examples¶
Submitting a Job¶
To submit a 3dsmax 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 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 Slaves Assigned To A Specific Pool¶
To check which slaves are assigned to the 3dsmax pool:
deadlinecommand -getslavenamesinpool 3dsmax Assigned
To Check which slaves are excluded from the xsi pool:
deadlinecommand -getslavenamesinpool Xsi Excluded
Querying For Task Information¶
To query for task information for the job with the ID of “546cc87357dbb04344a5c6b5”:
deadlinecommand -getjobtasks 546cc87357dbb04344a5c6b5
Retrieving and Changing Job Status¶
To retrieve the status of the job with the ID of “546cc87357dbb04344a5c6b5”:
deadlinecommand -getjob 546cc87357dbb04344a5c6b5
To retrieve all of the jobs details:
deadlinecommand -getjobdetails 546cc87357dbb04344a5c6b5
To suspend the job with the ID of “546cc87357dbb04344a5c6b5”:
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
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 that the -to, -subject, and -message options are required. The other two options 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 asdsubmitexitcode.txt
anddsubmitoutput.txt
respectively.