Deadline with REZ

Hello there!

I want to run my Deadline10 jobs in a rez environment.
So far I managed to pass the DEADLINE_REZ_REQUEST_PACKAGES ExtraJobKey with the proper package as value from code.
Now the interesting thing is I experience 3 different scenarios at the same type, but with different plugins:

  1. Deadline recognizes it’s supposed to run a rez env, starts the job in it and everything runs smoothly.
  2. Deadline recognizes it’s supposed to run a rez env, starts the job in it and everything runs smoothly, however the Deadline job hangs, never completes, even if the actual program logic is done running. It just keeps running forever.
  3. Deadline doesn’t even recognizes, it’s supposed to be a rez environment job, it just grabs Nuke and then it fails to find dependencies that should come from rez packages.

For the record, the first two are custom plugins, while the third is the Deadline Nuke plugin (might have been slightly modified, I’m not sure).

Does anybody see how these could occur? What am I missing?
Thanks in advance!

Nothing immediately jumps to mind to be honest. For scenario #2 that’ll happen when the render application never closes out so Deadline waits on it. That might be an issue with the custom plugin, but if we can figure out #3 it might explain the behaviour there.

As a part of adding Rez support all our existing application plugins (like Nuke) had how they’d pull the render application re-worked. If you’ve got a customized Nuke.py it could be that your Nuke.py isn’t making the right call. To compare, I’ve attached a copy of Nuke.py from my 10.2 install.
Nuke.py (33.7 KB)

Compare the two and let us know if there’s a difference in how the RenderExecutable gets called.

1 Like

Thanks for the reply!
First of all: the Nuke.py is identical, so that’s vanilla.

To add something for #2: the plugin is working and completing properly without the DEADLINE_REZ_REQUEST_PACKAGES extra info set, if I add every environment variable from the resolved rez environment to the process with SetProcessEnvironmentVariable() instead.
And even if I print out the progress to 100%, it just modifies the UI so it’s 100% but still doesn’t complete.
I don’t see yet how these two is related.

For #2 it sounds like the job isn’t getting created correctly. What’s present on the job properties’ environment and job extra info tabs?

Tasks don’t complete when they go to 100%. For Nuke they complete when the script we built and gave to Nuke is done being run.

Could I get job archives for jobs that are misbehaving? Given it’s our code I might be able to use the logs to trace back what’s going on.

If you’re understandably not comfortable putting those up on the internet, just create a ticket at awsthinkbox.zendesk.com and I’ll get the logs from the ticket system.

Thanks!