mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-04-28 17:57:16 +02:00
[core] TaskManager: fix compute after submit
After a renderfarm submit, it was not possible to compute the same node locally anymore.
This commit is contained in:
parent
54311569d1
commit
51572c8f59
1 changed files with 12 additions and 20 deletions
|
@ -173,13 +173,7 @@ class TaskManager(BaseObject):
|
|||
"""
|
||||
self._graph = graph
|
||||
|
||||
if self._thread._state != State.RUNNING:
|
||||
self._nodes.clear()
|
||||
externEmpty = any(node.isAlreadySubmitted() for node in self._nodesExtern)
|
||||
if not externEmpty:
|
||||
self._nodes.update(self._nodesExtern)
|
||||
else:
|
||||
self._nodesExtern = []
|
||||
self.updateNodes()
|
||||
|
||||
if forceCompute:
|
||||
nodes, edges = graph.dfsOnFinish(startNodes=toNodes)
|
||||
|
@ -284,6 +278,16 @@ class TaskManager(BaseObject):
|
|||
self._nodesExtern = []
|
||||
self._nodesToProcess = []
|
||||
|
||||
def updateNodes(self):
|
||||
"""
|
||||
Update task manager nodes lists by checking the nodes status.
|
||||
"""
|
||||
self._nodesExtern = [node for node in self._nodesExtern if node.isExtern() and node.isAlreadySubmitted()]
|
||||
newNodes = [node for node in self._nodes if node.isAlreadySubmitted()]
|
||||
if len(newNodes) != len(self._nodes):
|
||||
self._nodes.clear()
|
||||
self._nodes.update(newNodes)
|
||||
|
||||
def update(self, graph):
|
||||
"""
|
||||
Add all the nodes that are being rendered in a renderfarm to the taskmanager when new graph is loaded
|
||||
|
@ -390,19 +394,7 @@ class TaskManager(BaseObject):
|
|||
))
|
||||
|
||||
# Update task manager's lists
|
||||
if self._thread._state != State.RUNNING:
|
||||
self._nodes.clear()
|
||||
|
||||
externEmpty = True
|
||||
for node in self._nodesExtern:
|
||||
if node.isAlreadySubmitted():
|
||||
externEmpty = False
|
||||
break
|
||||
|
||||
if not externEmpty:
|
||||
self._nodes.update(self._nodesExtern)
|
||||
else:
|
||||
self._nodesExtern = []
|
||||
self.updateNodes()
|
||||
|
||||
# Check dependencies of toNodes
|
||||
if not toNodes:
|
||||
|
|
Loading…
Add table
Reference in a new issue