mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-08-03 00:38:41 +02:00
Create TaskManager with a task overview
Create a seperate class to handle the logic of computing nodes + An UI overview with all submitted nodes
This commit is contained in:
parent
bc1eb83d92
commit
51d6c18840
11 changed files with 579 additions and 76 deletions
|
@ -259,6 +259,15 @@ class NodeChunk(BaseObject):
|
|||
def isAlreadySubmitted(self):
|
||||
return self.status.status in (Status.SUBMITTED, Status.RUNNING)
|
||||
|
||||
def isAlreadySubmittedOrFinished(self):
|
||||
return self.status.status in (Status.SUBMITTED, Status.RUNNING, Status.SUCCESS)
|
||||
|
||||
def isFinishedOrRunning(self):
|
||||
return self.status.status in (Status.SUCCESS, Status.RUNNING)
|
||||
|
||||
def isStopped(self):
|
||||
return self.status.status == Status.STOPPED
|
||||
|
||||
def process(self, forceCompute=False):
|
||||
if not forceCompute and self.status.status == Status.SUCCESS:
|
||||
print("Node chunk already computed:", self.name)
|
||||
|
@ -291,6 +300,7 @@ class NodeChunk(BaseObject):
|
|||
self.upgradeStatusTo(Status.SUCCESS)
|
||||
|
||||
def stopProcess(self):
|
||||
self.upgradeStatusTo(Status.STOPPED)
|
||||
self.node.nodeDesc.stopProcess(self)
|
||||
|
||||
statusChanged = Signal()
|
||||
|
@ -516,6 +526,18 @@ class BaseNode(BaseObject):
|
|||
return True
|
||||
return False
|
||||
|
||||
def isAlreadySubmittedOrFinished(self):
|
||||
for chunk in self._chunks:
|
||||
if not chunk.isAlreadySubmittedOrFinished():
|
||||
return False
|
||||
return True
|
||||
|
||||
def isFinishedOrRunning(self):
|
||||
for chunk in self._chunks:
|
||||
if not chunk.isFinishedOrRunning():
|
||||
return False
|
||||
return True
|
||||
|
||||
def alreadySubmittedChunks(self):
|
||||
return [ch for ch in self._chunks if ch.isAlreadySubmitted()]
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue