AWS Thinkbox Discussion Forums

How Does Deadline Create the Full Command for Rez?

I’m trying to tweak the Rez event plugin in order to have an option to use the --no-local flag. However, in the events\Rez\Rez.py file I do not see anything about how the command line is built that is actually built: Full Command: "C:\opt\rez\Scripts\rez\rez.exe" env ...

I’ve also looked for any Rez related strings in the entire respository and to my surprise I found nothing.

So, where and how does the command get constructed? And am I able to adjust it?

Hello

As far as I know. The event plugin does not make the Render Arguments. Rez is an event plugin which set the environment variables on the job to be run in Rez’s context. Once the environment is set it loads Rez packages based on application you are using. Worker does it for you, that should be Workers code.

Which application are you using? Mostly you could add that argument to the application plugins RenderArgument() callback.

Hi zainali,
In this particular case we’re using Houdini plus Redshift standalone, but I will need to implement the --no-local flag for all cases where Rez is used.
Although I searched the entire repository for any instance of the string rez and didn’t find anything, I also looked in plugins\Houdini\Houdini.py but there’s only so far I can go before I hit the python stub files. I suspect the rez command line is built in DeadlinePlugin.GetRenderExecutable?

Yep! And that’s in the compiled C#, so not available to be customized. Deadline uses Python for .NET, and when you hit the stubs that’s where the jump into complied C# happens.

I’m just skimming rez docs, could you set that option in the environment? Maybe with a file like the ones described here? If that works the way I hope you could either set the environment variable on the machine when the job picks up, or create and use a config file to do the same thing.

Hi Justin,
Unfortunately the --no-local option cannot be set in a config file or environment variables, as it’s just a flag that determines if local packages should be considered.
I’m assuming that Deadline isn’t open source? It shouldn’t be too hard to add this, or a few other options.
Or is there another mechanism to inject command line arguments?

It’s not open source, so there’s not much that could be done with changing. It’s got to be a feature request for us.

The only other spot to inject command line arguments is in the ModifyCommandLine hook-in, but it’s not aware of the plugin that’s running. If you want to add --local-files to everything you’re good, but it’s not aware otherwise.

Privacy | Site terms | Cookie preferences