Added stopsignal module with checkDependency and addStopSignal definitions
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from core.apirequest import executeRequest
|
||||
from core.runtime.runtimecontract import buildRuntimeAttr, buildPreRuntimeAttr
|
||||
from core.runtime.stopsignals import addStopSignal
|
||||
|
||||
|
||||
def buildAction (action, outputs):
|
||||
@@ -11,8 +12,6 @@ def buildAction (action, outputs):
|
||||
return outputs, None
|
||||
|
||||
if match:
|
||||
if hasattr(action, "depends"):
|
||||
outputs["stopsignals"].append(action.alias)
|
||||
return outputs, None
|
||||
|
||||
response, outputs = executeRequest(action, outputs, resolved)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import logging
|
||||
from core.runtime.managefailure import manageFailure
|
||||
from core.execution.action.action import buildAction
|
||||
from core.runtime.stopsignals import checkDependency
|
||||
#from core.runtime.skipstep import skipStep
|
||||
#from core.runtime.recursive import recursiveSet
|
||||
|
||||
@@ -11,19 +12,13 @@ def buildOperation(definition, outputs):
|
||||
responses = []
|
||||
outputs["stopsignals"] = []
|
||||
for action in actions:
|
||||
if hasattr(action, "depends"):
|
||||
stop =any(
|
||||
dependency in outputs["stopsignals"]
|
||||
for dependency in action.depends
|
||||
)
|
||||
stop = checkDependency(action, outputs)
|
||||
|
||||
#print(f"STOP SIGNAL DEBUGGING during {action.name}")
|
||||
#print(outputs["stopsignals"])
|
||||
#stop = True
|
||||
#break
|
||||
#print(f"STOP SIGNAL DEBUGGING during {action.name}")
|
||||
#print(outputs["stopsignals"])
|
||||
|
||||
if stop:
|
||||
continue
|
||||
if stop:
|
||||
continue
|
||||
|
||||
outputs, response = executeContract(action, outputs)
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ from core.execution import action
|
||||
from core.execution.action.action import buildAction
|
||||
from core.runtime.runtimecontract import buildPreRuntimeAttr, buildRuntimeAttr
|
||||
from core.apirequest import executeRequest
|
||||
from core.runtime.stopsignals import checkDependency
|
||||
|
||||
def buildRecursive(definition, outputs):
|
||||
responses = []
|
||||
@@ -29,19 +30,16 @@ def buildRecursive(definition, outputs):
|
||||
|
||||
outputs["stopsignals"] = []
|
||||
for job in recursiveset:
|
||||
if hasattr(job, "depends"):
|
||||
stop =any(
|
||||
dependency in outputs["stopsignals"]
|
||||
for dependency in job.depends
|
||||
)
|
||||
stop = checkDependency(job, outputs)
|
||||
|
||||
#print(f"STOP SIGNAL DEBUGGING during {job.name}")
|
||||
#print(outputs["stopsignals"])
|
||||
#print(f"STOP SIGNAL DEBUGGING during {job.name}")
|
||||
#print(outputs["stopsignals"])
|
||||
#print(stop)
|
||||
|
||||
if stop:
|
||||
#print("STOP SIGNAL DETECTED")
|
||||
#print(f"Stopping {job.name} due to stop signal")
|
||||
continue
|
||||
if stop:
|
||||
#print("STOP SIGNAL DETECTED")
|
||||
#print(f"Stopping {job.name} due to stop signal")
|
||||
continue
|
||||
|
||||
#print(f"RECURSIVE DEBUG DURING {job.name}")
|
||||
#print(item)
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
from core.execution.action import action
|
||||
from core.runtime import buildSelect, buildOutput, buildSave, loadSave, saveRow, readRow, buildLog
|
||||
from core.runtime.image import buildImage
|
||||
#from core.runtime.select import buildSelect3
|
||||
from core.runtime.resolver import resolveItem, extractItem
|
||||
from core.runtime.applyconditions import applyConditions
|
||||
from core.runtime.responsepolicy import responsePolicy
|
||||
from core.runtime.stopsignals import addStopSignal
|
||||
|
||||
def buildPreRuntimeAttr(action, outputs):
|
||||
outputs = loadSave(action, outputs)
|
||||
@@ -13,6 +15,9 @@ def buildPreRuntimeAttr(action, outputs):
|
||||
resolved, outputs = readRow(action, resolved, outputs)
|
||||
|
||||
match, filter = applyConditions(action, resolved, outputs)
|
||||
|
||||
if match:
|
||||
outputs = addStopSignal(action, outputs)
|
||||
|
||||
return outputs, resolved, match, filter
|
||||
|
||||
@@ -20,13 +25,12 @@ def buildPreRuntimeAttr(action, outputs):
|
||||
def buildRuntimeAttr(action, outputs, resolved, response):
|
||||
outputs, resolved = responsePolicy(response, action, outputs, resolved)
|
||||
|
||||
if not response.ok:
|
||||
if hasattr(action, "depends"):
|
||||
outputs["stopsignals"].append(action.alias)
|
||||
return outputs, response
|
||||
|
||||
outputs = buildOutput(response, action, outputs)
|
||||
|
||||
if not response.ok:
|
||||
outputs = addStopSignal(action, outputs)
|
||||
return outputs, response
|
||||
|
||||
resolved = extractItem(action, outputs, resolved)
|
||||
|
||||
outputs = buildImage(response, action, outputs)
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
def checkDependency(action, outputs):
|
||||
if hasattr(action, "depends"):
|
||||
stop = any(
|
||||
dependency in outputs["stopsignals"]
|
||||
for dependency in action.depends
|
||||
)
|
||||
|
||||
if stop:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def addStopSignal(action, outputs):
|
||||
if hasattr(action, "depends"):
|
||||
outputs["stopsignals"].append(action.alias)
|
||||
|
||||
return outputs
|
||||
Reference in New Issue
Block a user