Using CommandLine.exe to submit jobs

I am new to the forum and fairly new to deadline, but I am on a project that needs to submit jobs automatically to After Effects. I have been looking over the following documentation (software.primefocusworld.com/sof … _Info_File), but I am a little confused with what the Job Info File is or should look like.

What we are trying to do it is: we have some After Effects projects that I need to submit automatically and I am curious if anyone out there can either explain it a little more or give me an example of what that file would look like and/or what the command line would look like.

Thank you in advance.
Tracy

Hi Tracy,

Near the bottom of the page you linked to, there are some examples:

In the case of After Effects, your job info file might look something like this (this is from a job that was submitted using the integrated AE submission script):

Plugin=AfterEffects
Name=Test Job
Comment=
Department=
Pool=none
Group=none
Priority=50
TaskTimeoutMinutes=0
EnableAutoTimeout=False
ConcurrentTasks=1
LimitConcurrentTasksToNumberOfCpus=True
Whitelist=
LimitGroups=
JobDependencies=
OnJobComplete=Nothing
MachineLimit=0
Frames=1
ChunkSize=1
OutputFilename0=\\server\outputfolder\output#####.tga

You might want to look through the following for help:

  1. \your\repository\submission\AfterEffects\SubmitAEToDeadline.jsx - this is the integrated AE submission script, and shows how the job info and plugin info files are created and submitted with the job.
  2. \your\repository\scripts\Submission\AfterEffectsSubmission\AfterEffectsSubmission.py - this is the Monitor AE submission script, and also shows how the job info and plugin info files are created and submitted with the job.
  3. \your\repository\plugins\AfterEffects\AfterEffects.py - this is the main AE plugin script, and shows how the settings in the plugin info file are read in and how the arguments are built up to be passed to AE’s command line renderer.

Hopefully this is enough information to get you going. If you have any specific questions along the way, just let us know!

Cheers,

  • Ryan

Ryan,

Thanks for the quick reply. I am still a little fuzzy on the actual Job_info_File. It is a text file that lives somewhere and is referenced in the command like statement or are is it something like this that would be sent to the command line exe.

Sorry for the basic questions, but I am really starting from scratch. Generally when I think of Job_Info_File, I think of an actual file and I do not see any documentation that references something like that. Hence, my confusion.

Thanks
Tracy

DeadlineCommand.exe
        -SubmitCommandLineJob
        -executable "c:\Program Files\Autodesk\AERenders\AERenders.exe"
        -Plugin=AfterEffects
        -Name=Test Job 
        -Comment=
        -Department=
        -Pool=none
        -Group=none
        -Priority=50
        -TaskTimeoutMinutes=0
        -EnableAutoTimeout=False
        -ConcurrentTasks=1
        -LimitConcurrentTasksToNumberOfCpus=True
        -Whitelist=
        -LimitGroups=
        -JobDependencies=
        -OnJobComplete=Nothing
        -MachineLimit=0
        -Frames=1
        -ChunkSize=1
        -OutputFilename0=\\server\outputfolder\output#####.mov

The job info file is a text file that is referenced in the command line statement. The SubmitCommandLineJob option you referenced is for submitting arbitrary command line jobs to Deadline. A typical AE submission (which is performed by the integrated AE submission script and the Monitor AE submission script) consists of three files:

  1. The job info file. This defines general job properties that are used by the Deadline system. These properties are not specific to AE jobs (other than the Plugin setting, of course). All these settings are explained in better detail here:
    software.primefocusworld.com/sof … _Info_File

For example, the following could by found in the ae_job_info.job file:

Plugin=AfterEffects
Name=Untitled
Comment=
Department=
Pool=none
Group=none
Priority=50
TaskTimeoutMinutes=0
EnableAutoTimeout=False
ConcurrentTasks=1
LimitConcurrentTasksToNumberOfCpus=True
Whitelist=
LimitGroups=
JobDependencies=
OnJobComplete=Nothing
MachineLimit=0
Frames=1
ChunkSize=1
OutputFilename0=\\server\outputfolder\output#####.tga
  1. The plugin info file. This defines properties that are used by Deadline’s AE plugin. These are specific to AE jobs. If you take a look at \your\repository\plugins\AfterEffects\AfterEffects.py (the main Deadline AE plugin file), you’ll see function names that start with GetPluginInfo. These functions are pulling settings from the plugin info file. You can use the AfterEffects.py as a reference to determine which options can be specified in the plugin info file.

For example, the following could by found in the ae_plugin_info.job file:

Comp=test
Version=9
IgnoreMissingLayerDependenciesErrors=False
MemoryManagement=False
ImageCachePercentage=100
MaxMemoryPercentage=100
MultiProcess=False
ContinueOnMissingFootage=True
Output=\\server\outputfolder\output[#####].tga
  1. The AE project file.

Then to submit the job, you would use deadlinecommand.exe:

deadlinecommand.exe "C:\path\to\ae_job_info.job" "C:\path\to\ae_plugin_info.job" "C:\path\to\ae_project_file.proj"

Hope this helps clear things up. As mentioned in my last post, \your\repository\submission\AfterEffects\SubmitAEToDeadline.jsx and \your\repository\scripts\Submission\AfterEffectsSubmission\AfterEffectsSubmission.py provide great examples on how the job info and plugin info files are created, and how the job is submitted to Deadline.

Cheers,

  • Ryan

Ryan,

That is exactly what I needed. I was able to get my settings right and get it submitted. Thank you very much. I am now on to figuring out how to query the Deadline monitor and get status’s of the jobs that have been submitted. I am headed to the documentation, but as always if you have any inside wisdom you want to throw my way I would appreciate it.

Thanks a BUNCH
Tracy

Ryan,

I was able to figure that out. It was a simple GetJob and I believe it will give me all the data I need. My next issue is that I code on one machine and the repository sits on another machine. I believe that I know how to fire the commandprompt from within my C#.NET application, but I do not know if it is possible to fire the command prompt on another machine. Do you know or should I install the repository on my own machine until the testing is completed?

Thanks

Could you install the Deadline Client software on your machine, and use the local DeadlineCommand.exe in the bin folder (ie: C:\program files\frantic films\deadline\bin) instead of the one in the repository?

Cheers,

  • Ryan

Hello,

The command line renderer has no progress because it is not programmed to recognize progress. Other plugins are written with code that specifically looks for progress updates from their respective application, but the command line plugin, as it’s just running a command, doesn’t have any such functionality.