I’m using the CustomPluginDirectory jobinfo key to specify a directory containing copies of existing plugins. The plugins in the the custom plugin directory are modified to do some testing before release.
Our custom plugins are normally contained in {deadline_repo_path}/custom/plugins. The CustomPluginDirectory is pointing to a different path on the network.
I noticed that the jobs submitted with the CustomPluginDirectory path are using executables specified by values in Deadline Monitor → Tools → Configure Plugins → {myplugin}. In fact even jobs submitted pointing to plugins in {deadline_repo_path}/custom/plugins use the values in Configure Plugins.
The only way to get the executable values from the .param file is to add a new version, and then only that new value will be updated, everything else still defaults to the Configure Plugins.
How can I get the jobs to read from the .param file values?
The Deadline plugins gets the render executable running the def RenderExecutable( self ): function. You would need to change the code in that function to pull the render executable to your desired localtion.
You can code it to read from the param file or any text file.
[PythonPyCommand2_7]
Type=multilinemultifilename
Category=PythonPy 2.7 Executable
CategoryOrder=0
Index=15
Label=PythonPy 2.7 Executable
Default=python27
Description=The path to the Python 2.7 executable file used for scripting. Enter alternative paths on separate lines.
[PythonPyCommand3_7]
Type=multilinemultifilename
Category=PythonPy 3.7 Executable
CategoryOrder=0
Index=17
Label=PythonPy 3.7 Executable
Default=python37
Description=The path to the Python 3.7 executable file used for scripting. Enter alternative paths on separate lines.
python27 and python37 are wrappers that set some environments vars and then run python 2.7 or python 3.7 executable.
If I add the following to the .param file:
[PythonPyCommand3_11]
Type=multilinemultifilename
Category=PythonPy 3.11 Executable
CategoryOrder=0
Index=20
Label=PythonPy 3.11 Executable
Default=python311
Description=The path to the Python 3.11 executable file used for scripting. Enter alternative paths on separate lines.
and set the Version in pluginInfo to 3.11, the executable path is read correctly from the .param file. However, if I update python27 as follows to point to a new wrapper:
[PythonPyCommand2_7]
Type=multilinemultifilename
Category=PythonPy 2.7 Executable
CategoryOrder=0
Index=15
Label=PythonPy 2.7 Executable
Default=newWrapper
Description=The path to the Python 2.7 executable file used for scripting. Enter alternative paths on separate lines.
it still uses the old python27 wrapper instead of the newWrapper.