Getting data from Deadline Job for 3dsMax

Hello, thank you for accepting me.

I have a question regarding Deadline and the PostLoadScript.
You see, right now, we have different render passes with VRay for 3dsMax.
Each pass is sent as a different job, and they all use the same base MaxFile.
Since each pass needs to have a specific configuration, hide specific geometry and such, it was decided that each job would have configuration information in the job info parameters. However, when I try to access this information through the GetJobInfoEntry in my PostLoadScript, I always get an undefined value.

Is this the function I have to use to read this information?
Is there another function to do it?
Am I doing something wrong?

Let me show you an example of what I have:

JobInfoParameters:

Name=Scripted Job UserName=baz *etc*

PostLoadScript

[code](
local du = DeadlineUtil
if du == undefined then
(
struct DeadlineUtilsStruct
(
fn SetTitle title = (format “Title: %\n” title),
fn SetProgress percent = (true),
fn FailRender msg = (throw msg),
fn GetJobInfoEntry key = ( undefined ),
fn GetAuxFilename index = ( undefined ),
fn LogMessage msg = ( format “%\n” msg ),
CurrentFrame = ((sliderTime as string) as integer)
)
du = DeadlineUtilStruct()
)
else
(
du.LogMessage(">>> NAME OF THE JOB")
du.LogMessage(du.GetJobInfoEntry “Name” as string)
)

true
)[/code]

Thank you for your time

Hi!

There are two JOB files created during submission.
The one file contains the job settings used by Deadline itself like plugin name, job name, frame range etc.
The other file contains the parameters that control the plugin (in this case, the 3dsmax plugin of Deadline). We also dump all renderer settings there, and you can use it to pass any parameters you might want to read yourself to control your passes.

The original names of these files in the early versions of Deadline were SubmitInfoFile and JobInfoFile.
In the current version of Deadline though, they are listed as JobInfoFile and PluginInfoFile (for example in the Job Properties dialog > Submission Params tab).

This leads to some confusion because the SMTD names are internally still SubmitInfoFile and JobInfoFile, and the Lightning.DLX which exposes the DeadlineUtil interface also calls them by their old names, and the JobInfoFile now means the OTHER file :blush:

As you can see from the online documentation
docs.thinkboxsoftware.com/produc … -interface
there are actually two functions you can call:

DeadlineUtil.GetJobInfoEntry() -- Gets a value from the plugin info file that was submitted with the job, and returns an empty string if the key doesn’t exist.
DeadlineUtil.GetSubmitInfoEntry() -- Gets a value from the job info file that was submitted with the job, and returns an empty string if the key doesn’t exist.

So the GetJobInfoEntry() reads the plugin info file, and the GetSubmitInfoEntry() reads the job info file, where the job name is actually stored!

Try calling

du.GetSubmitInfoEntry "Name"

and see if it fixes your issue…

However, you should store your pass settings in the other file, and read them out via du.GetJobInfoEntry “YourPropertyName”.

You can also optionally (pun intended) modify the 3dsmax.options file in the \Repository\plugins\3dsmax\ folder to expose your own pass-related controls to the “3dsMax Settings” tab of the Job Properties dialog, but that might not be really necessary.

Hahaha, oh my. It’s true.

Thank you very much!
Using the GetSubmitInfoEntry solved the problem.
I was mostly checking examples, so I guess that’s why I missed it.

We already created a script that reads and setups the configuration we generated, but we will keep the plugin info parameters in case we have trouble with what we have.

Once again, thank you very much for your time.
Good day!