[core] do not change status on chunks with SUCCESS status

If the node is only partially computed, do not change the status of
chunks with SUCCESS status.
This commit is contained in:
Fabien Castan 2017-11-22 15:16:57 +01:00
parent 9d99cba772
commit 07351c911a

View file

@ -839,11 +839,15 @@ class Node(BaseObject):
for chunk in self.chunks:
chunk.updateStatusFromCache()
def submit(self):
self.upgradeStatusTo(Status.SUBMITTED_EXTERN)
def submit(self, forceCompute=False):
for chunk in self.chunks:
if forceCompute or chunk.status.status != Status.SUCCESS:
self.upgradeStatusTo(Status.SUBMITTED_EXTERN)
def beginSequence(self):
self.upgradeStatusTo(Status.SUBMITTED_LOCAL)
def beginSequence(self, forceCompute=False):
for chunk in self.chunks:
if forceCompute or chunk.status.status != Status.SUCCESS:
self.upgradeStatusTo(Status.SUBMITTED_LOCAL)
def processIteration(self, iteration):
self.chunks[iteration].process()
@ -1438,7 +1442,7 @@ def execute(graph, toNodes=None, forceCompute=False, forceStatus=False):
print('Nodes to execute: ', str([n.name for n in nodes]))
for node in nodes:
node.beginSequence()
node.beginSequence(forceCompute)
for n, node in enumerate(nodes):
try: