AWS Thinkbox Discussion Forums

Job Script calling external UI

Hello,

Is there a way to call external python scripts from a job script that launches a custom pyqt/pyside UI? It seems like my window is getting garbage collected after about ~5 seconds even though I’ve parented it. Any gotchas I’m missing?

Thanks.

Is the script being run at render time or as part of a submitter? It sounds like it’s something at render time. I’ve seen people do this to interact with artists when their work is done but I don’t remember if they were ever successful.

Parenting is difficult in Deadline because we try to destroy everything we create (not all apps clean up gracefully). On Windows, we group all child processes of the Sandbox under the same Windows Job Object which we destroy when the Worker (previously Slave) transitions from one job to the next. We implemented a way to break free because of some workaround in our Katana plugin script.

I think it’s the “UseProcessTree”:

    def InitializeProcess( self ):
        self.PluginType = PluginType.Simple
        self.StdoutHandling = True
        self.UseProcessTree = False # This guy should allow breaking away

I found the commit on our side that added it there isn’t explanation on the add there. If you’re using the Python plugin, you’d add it to the same spot there in InitializeProcess.

You can check the Windows Job Object information using Process Explorer when running it as an administrator. If the process doesn’t have a WJO it won’t show the tab in the properties.

I hope that sheds some light on what’s happening. If you’re doing this on Linux I’ll have to refresh myself on it.

Privacy | Site terms | Cookie preferences