Deadline Slave/Job Check script

Hello,
I’m hoping to save a bit of time/guesswork, and instead am looking for some direction from you.

I’d like run a command from within a python script that checks the status of each of the slaves.
I’d like to retain the following information:

  1. I’d like to to know what plugin each of the slaves are running.
  2. For each of the slaves that are running a commandline plugin job, I’d like to retain the:
    2a) name of the job that’s being run.
    2b) length of time the job’s been running
    2c) job’s ID

Also - while using the “DeadlineCommand.exe -SubmitCommandLineJob”,
…can I also specify dependancies with this? -SelectDependencies “jobID,jobID,jobID”
is that the correct syntax?

if you can offer a relatively simple response to these, or point me in the right direction… i’d appreciate it. If it’s a little more involved…i’ll have to do some digging through the documentation. Speaking of which, are there any plans to create a search tool for the docs? if I could even get it in pdf form, I could do a search in there. Currently it’s a little difficult finding what I’m looking for with the online manual.

Thanks guys,

You could use “DeadlineCommand.exe -GetSlaves” to dump out all the current slave info, and parse it to get the information you’re looking for. In your case, you probably want to parse out the following:

CurrentPlugin=…
CurrentJobName=…
RenderingTime=…
CurrentJobId=…

Currently, there isn’t a way to automatically setup dependencies for a command line job submitted this way. However, you could manually setup a command line job. You would just need to create a job info file and plugin info file and submit them via command line. See here for more details on job submission:
software.primefocusworld.com/sof … o_Deadline

For the plugin info file, you just need to define these two settings:

Executable=…
Arguments=…

Just remember to specify the and arguments as necessary - see here for more details:
software.primefocusworld.com/sof … o_Deadline

The docs do show up in google searches, but we agree that it would be handy to have a built in search feature for the online docs. There are currently PDF versions of the manual which you can download from the downloads page:
software.primefocusworld.com/sof … /download/

Cheers,

  • Ryan

Hey - thanks very much - you’ve saved me a lot of time which at this point, i really needed.
The -GetSlaves option will work perfectly.

Currently I am using to submit a simple maya-batch to deadline. Naturally I can pass maya the by using mayabatch.exe 's -s argument. Maya then uses that to produce additional frames with appropriate frame padding.

eg.
= 4, is passed to maya as mayabatch.exe -s 4 and maya will then render a frame such as: image.0004.iff .

What if I need to use the for a commandline submission that requires a specific frame padding, for explicit naming of a image file?
eg.

imageDenoise.exe -source "C:\images\filename.0004.iff" -output "C:\images\denoised\ filename.0004.iff"

~Sorry if my arg names below are incorrect, I haven’t used this submission method yet. You’ll understand what i mean though~
If I were to submit using a jobInfo/Plugin, my args might look like this:

frames=1-200
chunkSize=1
executable="C:\bin\imageDenoise.exe"
arguments='-source "C:\images\filename.<STARTFRAME>.iff" -output "C:\images\denoised\filename.<STARTFRAME>.iff"'

The commandline string that’s being sent to the farm to render would look like this:

C:\bin\imageDenoise.exe -source "C:\images\filename.4.iff" -output "C:\images\denoised\filename.4.iff"

Is there anyway to pad that ??? so that it becomes “0004” in the string, instead of “4”?
I tried giving the argument:

frames=0001-0200

…but that didn’t seem to help.

and are treated as numbers, so unfortunately there is no way to pad them with 0’s automatically. In this case, it might actually be better to use the CommandScript plugin:
software.primefocusworld.com/sof … script.php

Here’s some info on manual submission:
software.primefocusworld.com/sof … ission.php

What you can do is create a text file where each line represents a frame to render, like this:

imageDenoise.exe -source "C:\images\filename.0001.iff" -output "C:\images\denoised\ filename.0001.iff"
imageDenoise.exe -source "C:\images\filename.0002.iff" -output "C:\images\denoised\ filename.0002.iff"
imageDenoise.exe -source "C:\images\filename.0003.iff" -output "C:\images\denoised\ filename.0003.iff"
...

I’m sure you could modify your submission app to loop through the required frames and create this list automatically.

If you have any questions about this plugin, let us know!

Cheers,

  • Ryan

That sounds like a great solution.

THanks again for your help.

At the risk of sounding like a tool,
could you please point me in the direction of documentation regarding the various plugin_info.job options?

The plugin_info.job options are entirely dependent on the plugin you’re using (they’re plugin-specific options), so the answer to your question really depends on which plugin you’re using. If you’re using the Command Script plugin, all the info you should need is in the link I gave you:
software.primefocusworld.com/sof … ission.php

If you meant the job_info.job file, that info can be found here:
software.primefocusworld.com/sof … _Info_File

If you did mean the plugin_info.job file, and you’re referring to a different plugin, let us know!

Cheers,

  • Ryan