Ejemplo n.º 1
0
    def __invoke_steps(self, yaml_scenario_list):
        """
        Create executable instance and push them to queue
        Args:
            yaml_scenario_list: parsed yaml list
        """
        self._logger.info("Start to invoke scenario")

        # Create queue to save step instances
        from cliboa.core.factory import StepQueueFactory

        q = StepQueueFactory.create("step")

        for s_dict in yaml_scenario_list:
            if "multi_process_count" in s_dict.keys():
                q.multi_proc_cnt = s_dict.get("multi_process_count")
                continue

            instances = []
            if "parallel" in s_dict.keys():
                for row in s_dict.get("parallel"):
                    instance = self.__create_instance(row, yaml_scenario_list)
                    instances.append(instance)
                    StepArgument._put(row["step"], instance)
            else:
                instance = self.__create_instance(s_dict, yaml_scenario_list)
                instances.append(instance)
                StepArgument._put(s_dict["step"], instance)

            # Put instance to queue
            q.push(instances)

        # save queue to static area
        setattr(ScenarioQueue, "step_queue", q)
        self._logger.info("Finish to invoke scenario")
Ejemplo n.º 2
0
    def __invoke_steps(self, yaml_scenario_list):
        """
        Create executable instance and push them to queue
        Args:
            yaml_scenario_list: parsed yaml list
        """
        self._logger.info("Start to invoke scenario")

        # Create queue to save step instances
        q = StepQueue()

        for s_dict in yaml_scenario_list:
            if "multi_process_count" in s_dict.keys():
                q.multi_proc_cnt = s_dict.get("multi_process_count")
                continue

            if "force_continue" in s_dict.keys():
                q.force_continue = s_dict.get("force_continue")
                continue

            instances = []
            if "parallel" in s_dict.keys():
                for row in s_dict.get("parallel"):
                    instance = self.__create_instance(row, yaml_scenario_list)
                    Helper.set_property(
                        instance,
                        "logger",
                        LisboaLog.get_logger(instance.__class__.__name__),
                    )

                    instances.append(instance)
                    StepArgument._put(row["step"], instance)
            else:
                instance = self.__create_instance(s_dict, yaml_scenario_list)
                Helper.set_property(
                    instance,
                    "logger",
                    LisboaLog.get_logger(instance.__class__.__name__),
                )
                instances.append(instance)
                StepArgument._put(s_dict["step"], instance)

            # Put instance to queue
            q.push(instances)

        # save queue to static area
        setattr(ScenarioQueue, "step_queue", q)
        self._logger.info("Finish to invoke scenario")