Files
rmmanager/core/execution/operation/operation.py
T

39 lines
1.1 KiB
Python

import logging
from core.runtime.managefailure import manageFailure
from core.execution.action.action import buildAction
#from core.runtime.skipstep import skipStep
#from core.runtime.recursive import recursiveSet
outputs = {}
def buildOperation(definition, outputs):
from core.execution.executioncontract import executeContract
actions = definition.actions
responses = []
outputs["stopsignals"] = []
for action in actions:
if hasattr(action, "depends"):
stop =any(
dependency in outputs["stopsignals"]
for dependency in action.depends
)
#print(f"STOP SIGNAL DEBUGGING during {action.name}")
#print(outputs["stopsignals"])
#stop = True
#break
if stop:
continue
outputs, response = executeContract(action, outputs)
#if hasattr(action, recursive)
responses.append(response)
#except Exception as error:
#outputs = manageFailure(error, action, outputs)
return outputs, responses