def start_subtask(self, subtask): try: self.logger.info( '[task_processor] Starting task [%s] vnode [%d]' % (subtask.vnode_info.taskid, subtask.vnode_info.vnodeid)) channel = grpc.insecure_channel('%s:%s' % (subtask.worker, self.worker_port)) stub = WorkerStub(channel) response = stub.start_task(subtask.command_info) if response.status != Reply.ACCEPTED: raise Exception(response.message) except Exception as e: self.logger.error('[task_processor] rpc error message: %s' % e) subtask.status_reason = str(e) return [False, e] subtask.task_started = True return [True, '']
def start_vnode(self, subtask): try: self.logger.info( '[task_processor] Starting vnode for task [%s] vnode [%d]' % (subtask.vnode_info.taskid, subtask.vnode_info.vnodeid)) channel = grpc.insecure_channel('%s:%s' % (subtask.worker, self.worker_port)) stub = WorkerStub(channel) response = stub.start_vnode(subtask.vnode_info) if response.status != Reply.ACCEPTED: raise Exception(response.message) except Exception as e: self.logger.error('[task_processor] rpc error message: %s' % e) subtask.status_reason = str(e) return [False, e] subtask.vnode_started = True subtask.start_at = time.time() self.cpu_usage[subtask.worker] += subtask.vnode_info.vnode.instance.cpu self.gpu_usage[subtask.worker] += subtask.vnode_info.vnode.instance.gpu return [True, '']