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"