Created process registry and introduced preparatory code

This commit is contained in:
Lyncoln
2026-10-27 18:58:18 -04:00
parent 90a18805f0
commit 480a49ced9
4 changed files with 47 additions and 2 deletions
+15 -1
View File
@@ -2,30 +2,44 @@ import logging
from core.runtime.managefailure import manageFailure from core.runtime.managefailure import manageFailure
from core.execution.action.action import buildAction from core.execution.action.action import buildAction
from core.runtime.stopsignals import checkDependency from core.runtime.stopsignals import checkDependency
from core.execution.processregistry import registerProcess
#from core.runtime.skipstep import skipStep #from core.runtime.skipstep import skipStep
#from core.runtime.recursive import recursiveSet #from core.runtime.recursive import recursiveSet
outputs = {} outputs = {}
def buildOperation(definition, outputs): def buildOperation(definition, outputs):
from core.execution.executioncontract import executeContract from core.execution.executioncontract import executeContract
actions = definition.actions actions = definition.actions
outputs = registerProcess(definition, outputs)
responses = [] responses = []
outputs["stopsignals"] = [] outputs["stopsignals"] = []
for action in actions: for action in actions:
#if action.kind == "action":
# outputs["processes"][definition.name][action.name] = {}
stop = checkDependency(action, outputs) stop = checkDependency(action, outputs)
#print(f"STOP SIGNAL DEBUGGING during {action.name}") #print(f"STOP SIGNAL DEBUGGING during {action.name}")
#print(outputs["stopsignals"]) #print(outputs["stopsignals"])
if stop: if stop:
outputs["processes"][definition.name]["stopsignals"].append(action.alias)
continue continue
if action.kind == "action":
outputs["processes"][definition.name][action.name] = {}
outputs, response = executeContract(action, outputs) outputs, response = executeContract(action, outputs)
#if hasattr(action, recursive) #if hasattr(action, recursive)
responses.append(response) responses.append(response)
if action.kind == "action":
outputs["processes"][definition.name][action.name]["response"] = response
outputs["processes"][definition.name]["completed"].append(action.alias)
#print(outputs["processes"])
#except Exception as error: #except Exception as error:
#outputs = manageFailure(error, action, outputs) #outputs = manageFailure(error, action, outputs)
+16
View File
@@ -0,0 +1,16 @@
def registerProcess(module, outputs):
if not "processes" in outputs:
outputs["processes"] = {}
#outputs["processes"] = {module.name: {}}
#print("WHERE IS MY PROCESS DICT?")
#print(outputs)
if not module.name in outputs["processes"]:
outputs["processes"][module.name] = {}
#outputs["processes"][module.name] = {}
outputs["processes"][module.name]["stopsignals"] = []
outputs["processes"][module.name]["completed"] = []
return outputs
+12
View File
@@ -3,8 +3,11 @@ from core.execution.action.action import buildAction
from core.runtime.runtimecontract import buildPreRuntimeAttr, buildRuntimeAttr from core.runtime.runtimecontract import buildPreRuntimeAttr, buildRuntimeAttr
from core.apirequest import executeRequest from core.apirequest import executeRequest
from core.runtime.stopsignals import checkDependency from core.runtime.stopsignals import checkDependency
from core.execution.processregistry import registerProcess
def buildRecursive(definition, outputs): def buildRecursive(definition, outputs):
outputs = registerProcess(definition, outputs)
responses = [] responses = []
from core.execution.executioncontract import executeContract from core.execution.executioncontract import executeContract
recursiveset = definition.recursiveset["actions"] recursiveset = definition.recursiveset["actions"]
@@ -30,6 +33,7 @@ def buildRecursive(definition, outputs):
outputs["stopsignals"] = [] outputs["stopsignals"] = []
for job in recursiveset: for job in recursiveset:
stop = checkDependency(job, outputs) stop = checkDependency(job, outputs)
#print(f"STOP SIGNAL DEBUGGING during {job.name}") #print(f"STOP SIGNAL DEBUGGING during {job.name}")
@@ -37,6 +41,7 @@ def buildRecursive(definition, outputs):
#print(stop) #print(stop)
if stop: if stop:
outputs["processes"][definition.name]["stopsignals"].append(job.alias)
#print("STOP SIGNAL DETECTED") #print("STOP SIGNAL DETECTED")
#print(f"Stopping {job.name} due to stop signal") #print(f"Stopping {job.name} due to stop signal")
continue continue
@@ -44,9 +49,16 @@ def buildRecursive(definition, outputs):
#print(f"RECURSIVE DEBUG DURING {job.name}") #print(f"RECURSIVE DEBUG DURING {job.name}")
#print(item) #print(item)
#outputs, response = buildAction(job, outputs) #outputs, response = buildAction(job, outputs)
if job.kind == "action":
outputs["processes"][definition.name][job.name] = {}
outputs, response = executeContract(job, outputs) outputs, response = executeContract(job, outputs)
responses.append(response) responses.append(response)
if job.kind == "action":
outputs["processes"][definition.name][job.name]["response"] = response
outputs["processes"][definition.name]["completed"].append(job.alias)
retain = definition.recursiveset.get("retain", True) retain = definition.recursiveset.get("retain", True)
+4 -1
View File
@@ -1,6 +1,8 @@
def checkDependency(action, outputs): def checkDependency(action, outputs):
#def checkDependency(action, operation, outputs):
if hasattr(action, "depends"): if hasattr(action, "depends"):
stop = any( stop = any(
#dependency in outputs["processes"][operation.name]["stopsignals"]
dependency in outputs["stopsignals"] dependency in outputs["stopsignals"]
for dependency in action.depends for dependency in action.depends
) )
@@ -11,7 +13,8 @@ def checkDependency(action, outputs):
return False return False
def addStopSignal(action, outputs): def addStopSignal(action, outputs):
#def addStopSignal(action, operation, outputs):
if hasattr(action, "depends"): if hasattr(action, "depends"):
#outputs["processes"][operation.name]["stopsignals"].append(action.alias)
outputs["stopsignals"].append(action.alias) outputs["stopsignals"].append(action.alias)
return outputs return outputs