Module mls_lib.orchestration.orchestrator
Orchestrator Class
Classes
class Orchestrator
-
Orchestrator Class
Initializes a new instance of the class.
This constructor initializes the
steps
dictionary and thestep_keys
list. It also calls the constructor of the parent class.Parameters
None
Returns
None
Expand source code
class Orchestrator: """ Orchestrator Class""" def __init__(self): """ Initializes a new instance of the class. This constructor initializes the `steps` dictionary and the `step_keys` list. It also calls the constructor of the parent class. Parameters: None Returns: None """ super().__init__() self.steps = {} self.step_keys = [] def add(self, step_key, step): """ Adds a step to the orchestrator. Args: step_key (str): The key to identify the step. step (Step): The step to be added. Returns: None """ self.step_keys.append(step_key) self.steps[step_key] = step def get_step_output(self, step_key, port): """ Get the output of a step with the given key and port. Args: step_key (str): The key of the step. port (str): The port of the output. Returns: The output of the step with the given key and port. """ return self.steps[step_key].get_output(port) def clear(self): """ Clear the steps in the orchestrator. This function clears the `steps` and `step_keys` attributes of the `Orchestrator` class by empting them. Parameters: None Returns: None """ self.steps = {} self.step_keys = [] def execute(self): """ Executes all the steps in the orchestrator. This method iterates over the `step_keys` list and calls the `execute` method of each step in the `steps` dictionary. Parameters: None Returns: None """ finished = len(self.step_keys) == 0 i = 0 finish_count = 0 while not finished: step_key = self.step_keys[i] step = self.steps[step_key] if (step.is_ready() and (not step.is_finished())): # print("Executing step: " + str(type(step))) step.execute() finish_count += 1 i = (i + 1) % len(self.step_keys) finished = finish_count == len(self.step_keys)
Methods
def add(self, step_key, step)
-
Adds a step to the orchestrator.
Args
step_key
:str
- The key to identify the step.
step
:Step
- The step to be added.
Returns
None
def clear(self)
-
Clear the steps in the orchestrator.
This function clears the
steps
andstep_keys
attributes of theOrchestrator
class by empting them.Parameters
None
Returns
None
def execute(self)
-
Executes all the steps in the orchestrator.
This method iterates over the
step_keys
list and calls theexecute
method of each step in thesteps
dictionary.Parameters
None
Returns
None
def get_step_output(self, step_key, port)
-
Get the output of a step with the given key and port.
Args
step_key
:str
- The key of the step.
port
:str
- The port of the output.
Returns
The output of the step with the given key and port.