[ui] update graph computing status when NodeChunks change

Ensure graph computing status is properly updated after deleting a node that was running
This commit is contained in:
Yann Lanthony 2019-07-25 14:40:05 +02:00
parent aff5a98a4b
commit d229743c3d
No known key found for this signature in database
GPG key ID: 519FAE6DF7A70642

View file

@ -283,12 +283,14 @@ class UIGraph(QObject):
if self._sortedDFSChunks.objectList() == chunks:
return
for chunk in self._sortedDFSChunks:
chunk.statusChanged.disconnect(self.onChunkStatusChanged)
chunk.statusChanged.disconnect(self.updateGraphComputingStatus)
self._sortedDFSChunks.setObjectList(chunks)
for chunk in self._sortedDFSChunks:
chunk.statusChanged.connect(self.onChunkStatusChanged)
chunk.statusChanged.connect(self.updateGraphComputingStatus)
# provide ChunkMonitor with the update list of chunks
self.updateChunkMonitor(self._sortedDFSChunks)
# update graph computing status based on the new list of NodeChunks
self.updateGraphComputingStatus()
def updateChunkMonitor(self, chunks):
""" Update the list of chunks for status files monitoring. """
@ -374,7 +376,7 @@ class UIGraph(QObject):
node = [node] if node else None
submitGraph(self._graph, os.environ.get('MESHROOM_DEFAULT_SUBMITTER', ''), node)
def onChunkStatusChanged(self):
def updateGraphComputingStatus(self):
# update graph computing status
running = any([ch.status.status == Status.RUNNING for ch in self._sortedDFSChunks])
submitted = any([ch.status.status == Status.SUBMITTED for ch in self._sortedDFSChunks])