| Previous Topic (Pulse) | Up (Contents) | Next Topic (JobMonitor) |
Deadline Command (command line utility) User Guide
DeadlineCommand is a command line tool for the Deadline render farm management system. It can be used to control, query, and submit jobs to the Deadline Repository.
There is also a DeadlineCommandBG application which is identical to DeadlineCommand, except that it is executed in the background. When using DeadlineCommandBG, the exit code and output are written to C:\Deadline\temp\dsubmitexitcode.txt and C:\Deadline\temp\dsubmitoutput.txt respectively.
The supported command line options are as follows, and can be printed out by running DeadlineCommand without any arguments:
GetSlaveNames Displays all the slave names
[Repository Root] The repository root to query (optional)
Slaves Displays all the slave names
[Repository Root] The repository root to query (optional)
GetSlaves Displays informatin for all the slave names
[Use Ini Display] true/false (optional, default is false)
GetSlave Display information for the slave
[Slave Name(s)] The slave name, or a list of slave names
separated by commas
[Use Ini Display] true/false (optional, default is false)
GetSlaveSetting Gets the value of a setting for the slave
[Slave Name] The slave name
[Slave Setting] The slave setting
GetSlaveInfo Gets the info value for the slave
[Slave Name] The slave name
[Slave Info Name] The name of the info
SetSlaveSetting Sets the value of a setting for the slave
[Slave Name(s)] The slave name, or a list of slave names
separated by commas
[Slave Setting] The slave setting
[Value] The new value
DeleteSlave Deletes the slave
[Slave Name(s)] The slave name, or a list of slave names
separated by commas
DeletePulse Deletes the pulse
[Pulse Name(s)] The pulse name, or a list of pulse names
separated by commas
GetSlaveNamesInPool Displays the slave names that have been assigned
to the specified pool
[Pool Name(s)] The pool name, or a list of pool names separated
by commas
GetSlaveNamesInGroup Displays the slave names that have been assigned
to the specified group
[Group Name(s)] The group name, or a list of group names
separated by commas
GetSlaveStatistics Displays quick summary information of slaves
AddPoolToSlave Adds a pool to the slave
[Slave Name(s)] The slave name, or a list of slave names
separated by commas
[Pool Name(s)] The pool name, or a list of pool names separeted
by commas
AddGroupToSlave Adds a group to the slave
[Slave Name(s)] The slave name, or a list of slave names
separated by commas
[Group Name(s)] The group name, or a list of group names
separeted by commas
RemovePoolFromSlave Removes a pool from the slave
[Slave Name(s)] The slave name, or a list of slave names
separated by commas
[Pool Name(s)] The pool name, or a list of pool names separeted
by commas
RemoveGroupFromSlave Removes a group from the slave
[Slave Name(s)] The slave name, or a list of slave names
separated by commas
[Group Name(s)] The group name, or a list of group names
separeted by commas
GetProcessNames Displays all running process names
[Process Name] Process name to search for (optional)
GetProcesses Displays information for all running processes
[Use Ini Display] true/false (optional, default is false)
GetProcess Displays information for all running processes
with the given name
[Process Name] Process name to search for
[Use Ini Display] true/false (optional, default is false)
StartProcess Starts the program or program associated with
the file
[Filename] The path to a given application or file
KillProcess Kills all processes with specified name or PID
[Process Name/Process ID] Name of the process or process ID
GetNetworkDrives Display all network drives
CheckFilePermissions Checks the read/write permissions on the file
[-ReadOnly/-WriteOnly] Checks both if omitted (optional)
[-Quiet] Print only SUCCESS or errors (optional)
[Filename] The file to check
FileCheck Checks the read/write permissions on the file
[Filename] Checks both if omitted (optional)
[ReadOnly/WriteOnly] Print only SUCCESS or errors (optional)
[Quiet] The file to check
SelectDirectory Opens a folder browser and prints out the result
[Initial Path] The path to the initial directory (optional)
GetDirectory Opens a folder browser and prints out the result
[Initial Path] The path to the initial directory (optional)
ShowMessageBox Displays a simple dialog box and prints out the
button selected
[-title <Title>] The title
[-message <Message>] The message, or the path to the file that
contains the message
[-buttons <Buttons>] A comma separated list of buttons (optional)
ShowUserDialog Displays a simple dialog box and prints out the
button selected
[-title <Title>] The title
[-message <Message>] The message
[-buttons <Buttons>] A comma separated list of buttons
SendEmail Sends an email
[-to <Email>] TO email address
[-subject <Subject>] The subject
[-message <Message>] The message, or the path to the file that
contains the message
[-cc <Email>] CC email address (optional)
[-attach <Attachment>] Attachment file (optional)
InstallLauncherService Installs the Deadline Launcher Service, and
optionally starts it.
[true/false] Whether or not to start the Launcher Service
after it has been installed (optional)
UninstallLauncherService Stops and uninstalls the Deadline Launcher
Service.
StartLauncherService Starts the Deadline Launcher Service if it is
running.
StopLauncherService Stops the Deadline Launcher Service if it is
running.
TestLicenseServer Allows you to test the license server the Slave
connects to
GetBinDirectory Displays the bin directory of the Deadline
Client software
GetHomeDirectory Displays the home directory of the Deadline
Client software
GetCurrentUserHomeDirectory Displays the current user home directory of the
Deadline Client software
GetSettingsDirectory Displays settings directory of the Deadline
Client software
Version Displays the version of Deadline
Version Displays the version of Deadline
GetRepositoryRoot Display the repository network root
Root Display the repository network root
GetRepositoryRoots Display all repository roots in the Deadline
config file
Networks Display all repository roots in the Deadline
config file
SelectRepository Select the repository root from a dialog
SelectNetwork Select the repository root from a dialog
ExecuteScript Executes the script
[Filename] The path to a given script file
ReportError Reports an error
[Source] The source of the error
[Error Message] The error message
GetReportFilenames Gets the report filenames for the job/slave
[Report Style] JobError/JobRequeue/JobLog/SlaveError
[Job ID/Slave Name] The job ID or slave name
GetLimitGroupNames Display all limit group names
[Repository Root] The repository root to query (optional)
LimitGroups Display all limit group names
[Repository Root] The repository root to query (optional)
GetLimitGroups Displays information for all limit groups
[Use Ini Display] true/false (optional, default is false)
GetLimitGroup Displays information for the limit group
[Limit Group Name(s)] The limit group name, or a list of names
separated by commas
[Use Ini Display] true/false (optional, default is false)
SetLimitGroup Modifies or creates the limit group
[Limit Group Name] The limit group name
[Limit] The new limit
[Listed Slaves] The listed slaves
[Whilelist Flag] true/false
[Limit Progress] The limit progress (optional)
[Excluded Slaves] The excluded slaves (optional)
DeleteLimitGroup Deletes the limit group
[Limit Group Name(s)] The limit group name, or a list of names
separated by commas
GetUserNames Display all the user names
[Network Root] The repository root to query (optional)
Users Display all the user names
[Repository Root] The repository root to query (optional)
GetUsers Displays information for all users
[Use Ini Display] true/false (optional, default is false)
GetUser Displays information for the user
[User Name(s)] The user name, or a list of names separated by
commas
[Use Ini Display] true/false (optional, default is false)
GetCurrentUserName Display the current Deadline user
SetUser Modifies or creates the limit group
[User Name] The user name
[Email] Their email address
[Machine] Their machine name
[Notification Method] None/Email/NetSend/Both
[User Level] Normal/Power
DeleteUser Deletes the user
[User Name(s)] The user name, or a list of names separated by
commas
GetPluginNames Displays all plugin names
[Repository Root] The repository root to query (optional)
Plugins Displays all plugin names
[Repository Root] The repository root to query (optional)
UpgradePluginSettings Used by installer to upgrade the plugins without
overriding user configured settings
[Repository Root] The repository root
BackupRepository Used by installer to backup the bin, plugins,
and submission folders
[Repository Root] The repository root
GetPoolNames Displays all pool names
[Repository Root] The repository root to query (optional)
Pools Displays all pool names
[Repository Root] The repository root to query (optional)
AddPool Adds the pool
[Pool Name(s)] The pool name, or a list of names separated by
commas
DeletePool Deletes the pool
[Pool Name] The pool name
PurgeObsoletePoolsAndGroups Purges pools and groups that are no longer in
use
GetGroupNames Displays all groups
[Repository Root] The repository root to query (optional)
Groups Displays all groups
[Repository Root] The repository root to query (optional)
AddGroup Adds the group
[Group Name] The group name
DeleteGroup Deletes the group
[Group Name] The group name
GetFarmStatistics Displays quick summary information of jobs and
slaves
RemoteControl Send the remote command to the Deadline Launcher
running on the specified machine(s)
[Machine Name(s)] The machine name, or a list of machine names
separated by commas
[Remote Command] The remote command
[Argument] The command argument (optional)
SubmitJobAndNotify Submits a job and notifies upon completion
[-drop] Specify this flag to do a drop job
[-deleteFiles] Specify this flag to delete local files after
submission
[<Job Files>] The job files
Notify Submits a job and notifies upon completion
[-drop] Specify this flag to do a drop job
[-notify] Specify this flag to display a notification when
submission completes
[-deleteFiles] Specify this flag to delete local files after
submission
SubmitDropJob Submits a drop job
[<Job Files>] The job files
Drop Submits a drop job
[<Job Files>] The job files
SubmitMultipleJobs Submits multiple jobs at once
[-dependent] This flag makes each job in the list of jobs
specified dependent on the previous job
[-notify] This flag displays a notification window after
the jobs have been submitted
[-job <Job Files>] This flag must precede each list of files for
each individual job being submitted
Multi Submits multiple jobs at once
[-dependent] This flag makes each job in the list of jobs
specified dependent on the previous job
[-notify] This flag displays a notification window after
the jobs have been submitted
[-job] This flag must precede each list of files for
each individual job being submitted
SubmitBackgroundJob Submits a job as a background process
[-notify] This flag displays a notification window after
the jobs have been submitted
[<Job Files>] The list of job files
Background Submits a job as a background process
[-notify] This flag displays a notification window after
the jobs have been submitted
[<Job Files>] The list of job files
SubmitCommandLineJob 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-100).
[-name [Value]] Optional: The job name.
[-department [Value]] Optional: The job department.
[-initstatus [Value]] Optional: The job's initial state
(Active/Suspended).
ExecuteScript Runs a context menu script which can determine
which plugin to run based on the file's
extension. The dialog menu may have less
information than if the job was submitted
through it's respective program.
[Filename] The filename of the scene to render. The file
extension determines the plugin that will be
run.
RenderNow Renders a scene right away using the local
machine. Does not submit the job to the
repository. The slave cannot be running in order
for this command to be performed.
[SceneFile] The filename of the scene to render
[SubmitInfoFile] File containing script information key=value
pairs. (eg. Plugin=<plugin>)
[PluginInfoFile] File containing plugin information key=value
pairs. (eg. Frames=<FrameList>)
GetJobIds Displays all the job IDs
GetJobs Displays information for all the jobs
[Use Ini Display] true/false (optional, default is false)
GetJob Display information for the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
[Use Ini Display] true/false (optional, default is false)
GetJobIdsFilter Display job Ids for jobs that fulfill the
specified filters
[Filter 1] A filter, in the form of <Setting=Value>
[...] Additional filters...
GetJobsFilterAnd Display jobs that fulfill all the specified
filters
[Filter 1] A filter, in the form of <Setting=Value>
[...] Additional filters...
GetJobsFilterIniAnd Display jobs that fulfill all the specified
filters, in an ini format
[Filter 1] A filter, in the form of <Setting=Value>
[...] Additional filters...
GetJobIdsFilterAnd Display jobs that fulfill all the specified
filters
[Filter 1] A filter, in the form of <Setting=Value>
[...] Additional filters...
GetJobsFilter Display jobs that fulfill the specified filters
[Filter 1] A filter, in the form of <Setting=Value>
[...] Additional filters...
GetJobsFilterIni Display jobs that fulfill the specified filters,
in an ini format
[Filter 1] A filter, in the form of <Setting=Value>
[...] Additional filters...
GetTaskProgress Display progress information about the job's
tasks
[Job ID] The job ID
GetJobTaskTotalTime Display total task render time for the job
[Job ID] The job ID
GetJobTaskAverageTime Display average task render time for the job
[Job ID] The job ID
GetJobTaskIds Display the task IDs for the job
[Job ID] The job ID
GetJobTasks Display the tasks for the job
[Job ID] The job ID
[Use Ini Display] true/false (optional, default is false)
GetJobTask Display the specified task for the job
[Job ID] The job ID
[Task ID] The task ID
GetJobSetting Gets the value of a setting for the job
[Job ID] The job ID
[Job Setting] The job setting
SetJobSetting Sets the value of a setting for the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
[Job Setting] The job setting
[Value] The new value
SuspendJob Suspends the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
ResumeJob Resumes the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
ResumeFailedJob Resumes the failed job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
DeleteJob Deletes the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
RequeueJob Requeues the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
ArchiveJob Archives the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
UnarchiveJob Unarchives the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
RequeueJobTask Requeues the specified task for the job
[Job ID] The job ID
[Task ID] The task ID
FailJobTask Fails the specified task for the job
[Job ID] The job ID
[Task ID] The task ID
ResumeFailedJobTask Resumes the specified failed task for the job
[Job ID] The job ID
[Task ID] The task ID
CompleteJobTask Marks the specified task for the job as complete
[Job ID] The job ID
[Task ID] The task ID
SetJobMachineLimit Sets the machine limit for the job
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
[Limit] The new limit
[Listed] The listed slaves
[Whilelist Flag] true/false
[Limit Progress] The limit progress (optional)
SetJobFrameRange Modifies the job's frame range
[Job ID(s)] The job ID, or a list of job IDs separated by
commas
[Frame List] The new frame list
[Chunk Size] The new chunk size
[Reorder Frames] true/false (optional)
GetJobStatistics Displays quick summary information of jobs
JobCleanup Cleans up completed jobs
[Cleanup Mode] DeleteJobs/ArchiveJobs
[Cleanup Days] Number of days jobs must be completed for
SelectDependencies Allows you to select a list of dependencies,
then prints them to stdout
[Initial Dependencies] A comma seperated list of the initially selected
dependencies (optional)
ChangeRepository Allows you to change the current Deadline
repository
SelectLimitGroups Allows you to select a list of limit groups,
then prints them to stdout
[Initial Limit Groups] A comma seperated list of the initially selected
limit groups (optional)
ChangeUser Changes the current Deadline user on this
machine
[UserName] (optional) If not specified, a User Login dialog
will be displayed
SelectFilenameSave Opens a file save dialog and prints out the
result
[Initial Path] The path to the initial filename (optional)
[Filter] The filter string (optional)
SelectFilenameLoad Opens a file load dialog and prints out the
result
[Initial Path] The path to the initial filename (optional)
[Filter] The filter string (optional)
ChangeLicenseServer Allows you to change the license server the
Slave connects to
About Displays the about text
Help Displays the help documentation
[Command Name] The name of a specific command (optional)
Usage Examples
Querying For Jobs Using Filters
To query for all of jsmith's jobs with completed status:
DeadlineCommand -getjobsfilter jsmith=cpember 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 "00q_100_x_0c49f79a":
DeadlineCommand -getjobtasks 00q_100_x_0c49f79a
Retrieving and Changing Job Status
To retrieve the status of the job with the ID of "00q_100_x_0c49f79a":
DeadlineCommand -getjob 00q_100_x_0c49f79a
To suspend the job with the ID of "t_090_x_7B74ADC0":
DeadlineCommand -suspendjob 00q_100_x_0c49f79a
To resume the job:
DeadlineCommand -resumejob 00q_100_x_0c49f79a
To requeue the job:
DeadlineCommand -requeuejob 00q_100_x_0c49f79a
To delete the job:
DeadlineCommand -deletejob 00q_100_x_0c49f79a
To archive the job:
DeadlineCommand -archivejob 00q_100_x_0c49f79a
Reporting An Error
Say you have a custom script plugin called MyPlugin, to report an error from it using DeadlineCommand:
DeadlineCommand -reporterror MyPlugin "MyPlugin reported an error"
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.
Submitting A Job
To submit a 3dsmax scene (ie. C:\MyScene.max) to Deadline, 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). More information on creating the job submission info file and the plugin info file can be found here.
Once the files are created, you can submit the scene to Deadline:
DeadlineCommand "C:\job_info.job" "C:\max_info.job" "C:\MyScene.max"