-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publisher: Fix stop of publishing #847
Conversation
Make sure loop of '_next_publish_item_process' is in processor only once
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The issue of this error:
Traceback (most recent call last):
File "E:\dev\ayon-core\client\ayon_core\tools\publisher\control_qt.py", line 52, in _execute
item.process()
File "E:\dev\ayon-core\client\ayon_core\tools\publisher\control_qt.py", line 20, in process
self.callback(*self.args, **self.kwargs)
File "E:\dev\ayon-core\client\ayon_core\tools\publisher\control_qt.py", line 95, in _next_publish_item_process
func = self._publish_model.get_next_process_func()
File "E:\dev\ayon-core\client\ayon_core\tools\publisher\models\publish.py", line 930, in get_next_process_func
item = next(self._main_thread_iter)
StopIteration
Upon validate, and then after continuing the publish is gone. I was unable to reproduce that error so this seems to be completely functional and fix the issue.
I tested in Maya 2024, Blender 4.2, Houdini 20.0.724 and Fusion 18. All good.
Resetting publisher, and republishing also seems to work.
I did a quick read over the code but it was a bit hard to grasp how and why this fixes it - so I couldn't say much about that. Sorry!
Changelog Description
Fixed issues related to stopped/paused publishing.
Additional info
The issue was introduced with #689 . When publishing was paused it could happen that the publishing loop was added to main process items more than once, in that case there were 2 running loops of plugin processing, leading to triggering the process loops more than once at the end.
Traceback
Testing notes:
I could not replicate the issue in traypublisher, so it requires to test in DCCs (could be replicated in nuke, maya, houdini).