Created process registry and introduced preparatory code
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in New Issue
Block a user