Esempio n. 1
0
 def _handle_output(self):
     try:
         while True:
             result = self.done_buffer.get()
             if result is None:
                 tlogger.info('WorkerHub._handle_output done')
                 break
             self.done_queue.put(result)
     except:
         tlogger.exception('WorkerHub._handle_output exception thrown')
         raise
Esempio n. 2
0
 def _handle_output(self):
     try:
         while True:
             result = self.results_queue.get()
             if result is None:
                 tlogger.info('AsyncTaskHub._handle_output done')
                 break
             self.put(result)
     except:
         tlogger.exception('AsyncTaskHub._handle_output exception thrown')
         raise
    def _handle_output(self):
        try:
            while True:
                result = self.done_buffer.get()
                if result is None:
                    tlogger.info('WorkerHub._handle_output done')
                    break


#                print("== putting result in done queue: result={}".format(result))
                self.done_queue.put(result)
        except:
            tlogger.exception('WorkerHub._handle_output exception thrown')
            raise
Esempio n. 4
0
 def _handle_output(self):
     try:
         while True:
             result_0 = self.results_queue_0.get()
             result_1 = self.results_queue_1.get()
             if result_0 is None and result_1 is None:
                 tlogger.info('AsyncTaskHub._handle_output done')
                 break
             if result_0 is not None:
                 self.put(result_0)
             if result_1 is not None:
                 self.put(result_1)
     except:
         tlogger.exception('AsyncTaskHub._handle_output exception thrown')
         raise
    def _handle_input(self):
        try:
            while True:
                worker_task = self.available_workers.get()
                if worker_task is None:
                    tlogger.info('WorkerHub._handle_input done')
                    break
                worker, subworker = worker_task

                task = self.input_queue.get()
                if task is None:
                    tlogger.info('WorkerHub._handle_input done')
                    break
                task_id, task = task
                self._cache[worker_task] = task_id
                worker.run_async(subworker, task, self.worker_callback)
        except:
            tlogger.exception('WorkerHub._handle_input exception thrown')
            raise
    def _handle_input(self):
        try:
            while True:
                worker_task = self.available_workers.get()
                if worker_task is None:
                    tlogger.info('WorkerHub._handle_input NO MORE WORKERS AWAILABLE')
                    break
                worker, subworker = worker_task

                task = self.input_queue.get()
                if task is None:
                    tlogger.info('WorkerHub._handle_input NO MORE INPUTS AWAILABLE')
                    break
                task_id, task = task
                self._cache[worker_task] = task_id
                # tlogger.info('WorkerHub: put task id: %s in cache keyed by worker task: %s' % (task_id, worker_task))

                worker.run_async(subworker, task, callback=self.worker_callback)
        except:
            tlogger.exception('WorkerHub._handle_input exception thrown')
            raise
Esempio n. 7
0
    def _handle_input(self):
        try:
            while True:
                #                worker_task = self.available_workers.get()
                #                if worker_task is None:
                #                    tlogger.info('WorkerHub._handle_input done')
                #                    break
                #                worker, subworker = worker_task
                if self.next_game_type_must_be == 0:
                    #                    print("Getting queue 0")
                    current_q = self.available_workers_0
                if self.next_game_type_must_be == 1:
                    #                    print("Getting queue 1")
                    current_q = self.available_workers_1

                worker_task = current_q.get()
                if worker_task is None:
                    tlogger.info('WorkerHub._handle_input done')
                    break
                worker, subworker = worker_task
                if self.next_game_type_must_be == 0:
                    self.next_game_type_must_be = 1
                else:
                    self.next_game_type_must_be = 0

                task = self.input_queue.get()
                if task is None:
                    tlogger.info('WorkerHub._handle_input done')
                    break
                task_id, task = task
                self._cache[worker_task] = task_id

                worker.run_async(subworker, task, self.worker_callback)
        except:
            tlogger.exception('WorkerHub._handle_input exception thrown')
            raise
Esempio n. 8
0
 def close(self):
     self.queue.put(None)
     try:
         self.env.close()
     except:
         tlogger.exception('failed at calling env.close()')