Added stopsignal module with checkDependency and addStopSignal definitions

This commit is contained in:
Lyncoln
2026-10-26 18:04:22 -04:00
parent cd3c292fdc
commit fb2ca01806
11 changed files with 58 additions and 48 deletions
+1 -2
View File
@@ -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)
+6 -11
View File
@@ -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)
+9 -11
View File
@@ -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)
View File
+9 -5
View File
@@ -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)
+17
View File
@@ -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