AWS Thinkbox Discussion Forums

Deadline 9 Event Plugin Issues

I was trying to set up Deadline 9 for our studio last week (we currently use Deadline 7) but ran into a few issues. I’m not sure if maybe there were some changes to how it works that I’m not aware of.

I was trying to add our changes to customise the Draft and Shotgun event plug ins. So I took copies of both folders and put them in the custom/events folder. However, it seemed to have trouble actually applying my changes. I put in simple logging calls to ensure that the updated scripts were actually being run by Deadling but the logs I had put in still didn’t appear at first.

I did notice that I had syntax errors in one script that presumably prevented it from running, but there were other times that updates weren’t taking effect even though the file didn’t have any syntax errors.

My main questions are if there were changes to how events work between Version 7.2 and 9.

[]In 7.2, I can “overwrite” the event plugins by putting plugins of the same name into the custom/events folder. I was told this would cause Deadline to ignore the original event plugin, and only use the custom one. It does work for us, but that didn’t seem to work when setting up Deadline 9.
[
]Is there some way I need to apply event plugin changes, or flush a cache? In 7.2, every time I made a change it seemed to just immediately apply across the board without any hassle. As explained above it didn’t seem like that was the case in 9.
[*]I found that the Shotgun plugin was reporting an error that seems to originate from the local Python installation for Deadline. I have a log file with the details pasted below:

[code]=======================================================
Log

2017-03-25 14:21:16: INFO: Job finished
2017-03-25 14:21:16: INFO: Found Shotgun Version info
2017-03-25 14:21:16: INFO: Event Plugin Mode: UploadThumbnail
2017-03-25 14:21:16: INFO: Path: ‘C:\Users\Administrator\AppData\Local\Thinkbox\Deadline9\pythonAPIs\2017-03-07T172658.0000000Z’
2017-03-25 14:21:16: INFO: Importing Shotgun API from ‘C:\Users\Administrator\AppData\Local\Thinkbox\Deadline9\pythonAPIs\2017-03-07T172658.0000000Z’…
2017-03-25 14:21:16: INFO: An error occurred while trying to connect to Shotgun:
2017-03-25 14:21:16: INFO: Traceback (most recent call last):
2017-03-25 14:21:16: File “none”, line 70, in ConfigureShotgun
2017-03-25 14:21:16: File “C:\Users\Administrator\AppData\Local\Thinkbox\Deadline9\pythonAPIs\2017-03-07T172658.0000000Z\shotgun_api3_init_.py”, line 1, in
2017-03-25 14:21:16: from shotgun import (Shotgun, ShotgunError, ShotgunFileDownloadError, Fault,
2017-03-25 14:21:16: File “C:\Users\Administrator\AppData\Local\Thinkbox\Deadline9\pythonAPIs\2017-03-07T172658.0000000Z\shotgun_api3\shotgun.py”, line 53, in
2017-03-25 14:21:16: from sg_26 import *
2017-03-25 14:21:16: File “C:\Users\Administrator\AppData\Local\Thinkbox\Deadline9\pythonAPIs\2017-03-07T172658.0000000Z\shotgun_api3\sg_26.py”, line 5, in
2017-03-25 14:21:16: from .lib.httplib2 import Http, ProxyInfo, socks, SSLHandshakeError
2017-03-25 14:21:16: File “C:\Users\Administrator\AppData\Local\Thinkbox\Deadline9\pythonAPIs\2017-03-07T172658.0000000Z\shotgun_api3\lib\httplib2_init_.py”, line 59, in
2017-03-25 14:21:16: from httplib2 import socks
2017-03-25 14:21:16: File “C:\Users\Administrator\AppData\Local\Thinkbox\Deadline9\pythonAPIs\2017-03-07T172658.0000000Z\httplib2_init_.py”, line 930, in
2017-03-25 14:21:16: class HTTPSConnectionWithTimeout(httplib.HTTPSConnection):
2017-03-25 14:21:16: AttributeError: ‘module’ object has no attribute ‘HTTPSConnection’

=======================================================
Details

Date: 03/25/2017 14:21:20
Event Type: OnJobFinished
Frames: 97-110
Job User: shotgun
Job Submit Date: 03/09/2017 15:23:59

=======================================================
Slave Information

Slave Name: CS-Render-03
Version: v9.0.0.18 Release (8bacaeca5)
Operating System: Windows Server 2008 R2 Foundation (SP1)
Running As Service: No
Machine User: Administrator
IP Address: 192.168.10.132
MAC Address: BC:30:5B:E2:89:F3
CPU Architecture: x64
CPUs: 4
CPU Usage: 33%
Memory Usage: 3.1 GB / 8.0 GB (39%)
Free Disk Space: 154.579 GB (9.887 GB on C:, 144.692 GB on D:)
Video Card: Matrox G200eW (Winbond)[/code]

The error seemed to originate from the ConfigureShotgun function, which I hadn’t edited at all so I can’t see why any of my changes would have affected it. But I can post my copy of the Shotgun.py file if necessary.
Also yes, I had installed the Deadline9 Repository to the same drive as the Deadline7 Repository was. It was on the same computer that was running the slave instance, so file access shouldn’t have been an issue.

Thanks for any help you can offer me.

Hey Gary,

We’ve made some changes to how event plugins work since Deadline 7.2. A couple ones that will affect your plugins immediately are that we’ve removed dlinit files, plugin information is now stored in the database. Also, we’ve changed from a binary disabled/enabled state to a tri-state that is made up of the following three states: Global Enabled, Opt-In, and Disabled. More information on how Event Plugins look in Deadline 9 can be found here: docs.thinkboxsoftware.com/produc … ugins.html

Also, if you are using the Shotgun API in your custom plugin we made some changes to that as well. The dependencies for Shotgun have been moved from being in the same folder as the Event plugin to being a part of our PythonSync folder. Therefore, it’s possible that you are using an older/newer version of the API then we are, which may be preventing your script from running.

As for updating the cache, Event plugins are run in a separate sandboxed process now. Deadline applications will periodically check if their copies of an event plugin are stale and will reload them. You can force this to reload by restarting the Slaves. For the Monitor, “Tools -> Synchronize Scripts and Plugins” will update any stale Event Plugins.

Hey Ryan!

Thanks for the reply. I had noticed the new state options, they’re a nice improvement! I actually had one question about that. I tested out the opt in option on a job, then switched the plugin to disabled but it seemed like it was still running because the opt in was still ticked on the job. Is this by design, a bug or should I be using the sync to fix this?

Ah, I see that I did have a version of shotgun in the folder with the plugin. I’ll remove that and see if it fixes the issue. I’ll also try out the plugin syncing process.

Thanks for all the help!

Hey Gary, for the opt-in, I’m expecting that state to need to refresh and make take some time to stick. Did it eventually take effect?

Privacy | Site terms | Cookie preferences