Exemplo n.º 1
0
    def run(self, data: Data, argv: List):
        """Select a concrete connector and run the process through it.

        :param data: The :class:`~resolwe.flow.models.Data` object that
            is to be run.
        :param argv: The argument vector used to spawn the executor.
        """
        process_scheduling = self.scheduling_class_map[
            data.process.scheduling_class]
        if "DISPATCHER_MAPPING" in getattr(settings, "FLOW_MANAGER", {}):
            class_name = settings.FLOW_MANAGER["DISPATCHER_MAPPING"][
                process_scheduling]
        else:
            class_name = getattr(settings, "FLOW_MANAGER",
                                 {}).get("NAME", DEFAULT_CONNECTOR)

        data.scheduled = now()
        data.save(update_fields=["scheduled"])

        workload_class = class_name.rsplit(".", maxsplit=1)[1]
        host, port, protocol = self._get_listener_settings(
            data, workload_class)
        argv[-1] += " {} {} {}".format(host, port, protocol)

        return self.connectors[class_name].submit(data, argv)
Exemplo n.º 2
0
    def run(self, data: Data, runtime_dir: Path, argv):
        """Select a concrete connector and run the process through it.

        :param data: The :class:`~resolwe.flow.models.Data` object that
            is to be run.
        :param runtime_dir: The directory the executor is run from.
        :param argv: The argument vector used to spawn the executor.
        """
        process_scheduling = self.scheduling_class_map[
            data.process.scheduling_class]
        if "DISPATCHER_MAPPING" in getattr(settings, "FLOW_MANAGER", {}):
            class_name = settings.FLOW_MANAGER["DISPATCHER_MAPPING"][
                process_scheduling]
        else:
            class_name = getattr(settings, "FLOW_MANAGER",
                                 {}).get("NAME", DEFAULT_CONNECTOR)

        data.scheduled = now()
        data.save(update_fields=["scheduled"])
        return self.connectors[class_name].submit(data, runtime_dir, argv)