Exemplo n.º 1
0
    def killSubTasks(self, subTaskIds):
        """
        Kills the sub tasks with the given IDs, and clears them from the table.
        """
        subTasks = []
        parentIds = []

        for subTaskId in subTaskIds:
            # Backwards compatibility for passing sub tasks instead of IDs.
            if isinstance(subTaskId, mesos_pb2.TaskInfo):
                subTaskId = subTaskId.task_id

            parent = self.pendingTasks.getParent(subTaskId)
            parentIds.append(parent.task_id)
            subTask = self.pendingTasks[subTaskId]
            subTasks.append(subTask)

            del self.pendingTasks[subTaskId]

        TaskChunkSchedulerDriver.killSubTasks(self, subTasks)

        return zip(parentIds, subTasks)