Hi team,
We have a python post job which runs after a render job completes. The post job reads the JobOutputDirectories and JobOutputFileNames to derive a list of all output paths. It then performs database insertion on each path.
Yesterday, we updated one of the python libraries the post job is importing: we added two new functions to the library.
When the post-job called these new functions, some slaves claimed:
‘module’ object has no attribute ‘isBeautyJpg’ (Python.Runtime.PythonException)
Some slaves picked up the new function without issue.
By adding debug statements, we were able to see that although the jobs on the failing slaves were sourcing the proper .py file, they did not list the new functions when the dir() cmd was run on the lib.
We ultimately resolved the issue by adding a reload() call succeeding the import call in the post-job.
Is this a known issue? If so, is it limited to postjobs, or do other task types share this limitation? Is there a better workaround than to explicitly reload all imports?
Thank you for your help!
Best,
Sally Slade
Scanline VFX