Пример #1
0
    def __init__(self, id, worker, tickets=1000000):
        self.id = id
        self.incoming_queues = {}
        self.runnable_queues = {}

        for scheduling_class in worker.scheduling_classes.keys():
            self.incoming_queues[scheduling_class] = Queue.Queue()
            self.runnable_queues[scheduling_class] = Queue.Queue()

        self.reference_cache = {}
        self.task_graph = LocalTaskGraph(worker.execution_features,
                                         runnable_queues=self.runnable_queues)
        self.active_or_queued_tasksets = 0
        self.running_tasks = 0
        self.active_tasksets = {}
        self.tickets = tickets
        self.job_aborted = False
        self._tasksets_lock = threading.Lock()
        self.task_cost = INITIAL_TASK_COST
Пример #2
0
 def __init__(self, root_task_descriptor, block_store, master_proxy,
              execution_features, worker):
     self._lock = Lock()
     self.task_records = []
     self.current_task = None
     self.current_td = None
     self.block_store = block_store
     self.master_proxy = master_proxy
     self.execution_features = execution_features
     self.worker = worker
     self.reference_cache = dict([
         (ref.id, ref) for ref in root_task_descriptor["inputs"]
     ])
     self.initial_td = root_task_descriptor
     self.task_graph = LocalTaskGraph(execution_features,
                                      [self.initial_td["task_id"]])
     self.job_output = LocalJobOutput(self.initial_td["expected_outputs"])
     for ref in self.initial_td["expected_outputs"]:
         self.task_graph.subscribe(ref, self.job_output)
     self.task_graph.spawn_and_publish([self.initial_td],
                                       self.initial_td["inputs"])