You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've just recently moved over to using the latest (gh-perPluginLog) branch of shotgunEvents.
I've got a couple of plugins here - one of which is very quick to run, and another which can take a bit of time... (I'm working on optimising it...!)
I'd love to be able to put the slower one in its own thread, so the quicker plugin can still do its own thing without having to wait for the slower one...
The text was updated successfully, but these errors were encountered:
I've done some thinking on how things could be multi-threaded but one of my concerns is one of multiple plugins running operations that could be dependent on processing order.
Maybe a possible solution could be to specify on callback registration if the callback should be processed in its own thread. Once you've done that, it would be your responsibility to make sure your plugin isn't dependent on other plugins in a problematic way.
Yup - that's what I was thinking. A plugin would have to explicitly specify that it wants to run in a separate thread. Most plugins would just stick with running in the main thread.
Also, unfortunately, the underlying socket library being used is NOT thread safe. We actually have threaded applications calling shotgun and figured this out. We have are own thread safe version of shotgun API (it is thread safe by locking, which means it serialized all threaded operations). So if you want to do this, you will have to use multi process vs multi threading (which actually gets around the python interpreter lock as well).
Hi,
I've just recently moved over to using the latest (gh-perPluginLog) branch of shotgunEvents.
I've got a couple of plugins here - one of which is very quick to run, and another which can take a bit of time... (I'm working on optimising it...!)
I'd love to be able to put the slower one in its own thread, so the quicker plugin can still do its own thing without having to wait for the slower one...
The text was updated successfully, but these errors were encountered: