give render executable at submission

Hi, is there a way to give the render executable path along with the job submission? We are implementing a special application-environment system, that is handling multiple versions, and other parameters varied to paths, and would be great if we could do this. Or do I have to modify the dlinit and params file to define multiple versions just like in nuke plugin? (currently we need this for arnold)

Thanks,
Gabor

I was just investigating the exact same thing here. Our setup here lets us pre-set os.paths and environment variables from a database but given that IronPython and .NET python are the flavours that Deadline is based/uses I’m having to rethink how best to approach this using deadline.

Looks to me like we’ll have to use flat text files periodically updated with database info inside a working IronPython environment to maintain functionality since we’re not able to utilise our own flavour Python 2.64 x64 in the Preload.py scripts.

Anyone else able to suggest preload.py workarounds whilst maintaining the integrity of the SideFX modules*?

Many thanks

J.Murray.

  • Warming to creating flat files with project config table info in there and just parsing em in IronPython or .NET Python.

Deadline ships with CPython 2.6, so you should be able to use this in any script, including preLaod.py and query your database.
Insert this # at the beginning of your script to force Python.

#Python.NET

The Shotgun scripts are a good example of what can be done in this manner.
There is also an undocumented way to add extra modules to the Python install in your repository and then it will be distributed to all your slaves :slight_smile:

Mike

That’s definitely possible, providing that you submitter is able to figure out which executable it needs to use. Just include it in the plugin info file. Note that your Deadline plugin will need to know what to do with this path at render time, so you will need a custom plugin to do that as well.

Cheers,

  • Ryan

Hi, thanks Ryan! But which commands should be used to tell the plugin that it should use the path that I’ve given, and not that in the executable list in repository? Or should it be a complete new plugin, and not modification of the arnold plugin…?
Thanks,
Gabor

More than happy to receive any top tips relating to un-documented features (drop me a PM if you want).

Thanks for the speedy clarification guys, I’ve maybe skimmed something in the plugins documentation about cpython 2.6 being available and how to implement your own, needed, modules.

Cheers!

J.Murray

UPDATE: Ok, after pulling the slave thread apart a little, yeap, I think I can see where and how to add in non-std modules. Now win32 api… how the heck to I get that to behave :smiley:

You would have to modify the existing plugin, or create a new one. Basically, you would include the executable in the plugin info file. Here’s what that entry might look like:

RenderExe=c:\path\to\file.exe

Then in the RenderExecutable function in the plugin, you could do this:

def RenderExecutable( self ):
    executable = GetPluginInfoEntry( "RenderExe" )
    return executable

This tells Deadline to use the executable that was included in the plugin info file.

Cheers,
-Ryan

Thanks Ryan, will try out soon!

Thank you,
Gabor