Yes and yes. We do both of these things all the time - in fact, they’re the lynchpin of our pipeline to be honest. You can either leverage the SMTD functions from within Max (for subsequent Max jobs) or otherwise manually submit jobs via deadlinecommand executed from MaxScript or Python.
I figured that was the case. However I’m currently submitting some jobs to the farm (deadline) and trying to split out other renders from there, however it does not appear to work. I was wondering if there is a way to read the Maxscript Listener on a render node in the view job reports? Or read the maxscript listener at all?
I want to read it so i can see why it’s not submitting my additional jobs.
You can’t read the listener, but you can bung whatever you want into the job report log with…
du.logMessage "Whatever you want"
This relies on you having the deadline util struct in place at the top of your script. If you don’t, take a look at the ‘Querying Job Properties’ here and grab everything from line 2 down to (but not including) du.SetTitle "Post Load MXS Script" --set the job title
.
Whatever you put in the logger will appear in the job report, so whilst you won’t get your “OK” and whatnot, you can print debug stuff into there pretty well. It’s slightly easier to writing your own output log, anyway!
If you have any specific questions I might be able to help, as I’ve been doing this sort of stuff quite a bit recently.
Hey Dan,
You mentioned you’ve been doing this for awhile. Have you written any examples of submitting a 3ds max passing it additional arguments?
Hi John,
Do you mean passing the actual max .exe additional arguments beyond what Deadline does already? If so, nope, though I’m sure it’d be possible by amending the plugin’s python file in deadline.
If you mean passing the job generic information that can then be used by other Deadline plugins/events/whatever then what an amazing coincidence. I don’t come on this forum often, but I have today to post about a bug in the 3dsMax submitter which meant that adding key pairs of data via Maxscript didn’t actually work.
If you apply my fix in that thread, they’ll work fine and then you can stuff all sorts of arbitrary data in there which can be read by other plugins or events. In my case, we have a simple python script that runs on each job completion which conditionally moves some of the output files around from where they’re originally rendered to. The conditions can (now) be supplied in the Max Job, so our custom submitter can basically say “move=true” and it’ll move them, or “move=false” and it won’t. Naturally you could add whatever information you want in here, and then pass that information to a function as an argument.
As for examples, if you follow my link to the other thread, I posted a link to the Documentation where it’s mentioned (right at the bottom) how to do it. Of course, it won’t work if you don’t apply the fix but actually adding the data is a piece of cake.