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

36 lines
1002 B
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
)
#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