Exemplo n.º 1
0
    def KillAllServers(self, request, context):

        try:
            self.srv_mngr.kill_server()
            self.srv_mngr = ServerManager()
            print("All servers killed")
            return server_manager_pb2.RobotServer(success=1)
        except:
            return server_manager_pb2.RobotServer(success=0)
Exemplo n.º 2
0
    def KillServer(self, request, context):
        try:
            assert request.port
            assert self.srv_mngr.kill_session(repr(request.port))
            print("Robot Server " + repr(request.port) + " killed")
            return server_manager_pb2.RobotServer(success=1)

        except:
            print("Failed to kill Robot Server " + repr(request.port))
            return server_manager_pb2.RobotServer(success=0)
Exemplo n.º 3
0
    def KillServer(self, request, context):
        try:
            assert request.port
            assert self.srv_mngr.kill_session(repr(request.port))
            logger.info('Robot Server {} killed'.format(repr(request.port)))
            return server_manager_pb2.RobotServer(success=1)

        except:
            logger.error('Failed to add Robot Server {}'.format(
                repr(request.port)),
                         exc_info=True)
            return server_manager_pb2.RobotServer(success=0)
Exemplo n.º 4
0
    def kill_server(self, port):

        # Extract port
        if isinstance(port, int):
            pass
        elif isinstance(port, str):
            try:
                address = port.split(':')
                port = int(address[1])
            except:
                raise RuntimeError("port argument is malformed")
        else:
            raise RuntimeError("port argument is malformed")

        i = 0
        while (i < 1000):
            try:
                print('Killing Robot Server at {}:{} | Tentative {}'.format(
                    self.ip, str(port), str(i + 1)))
                result = self.stub.KillServer(
                    request=server_manager_pb2.RobotServer(port=port),
                    timeout=60)

                if result.success:
                    print('Successfully killed Robot Server at {}:{}'.format(
                        self.ip, str(port)))
                    return True
                else:
                    pass
            except:
                pass
            i += 1

        raise RuntimeError("Failed 5 tentatives of killing Robot Server")
Exemplo n.º 5
0
    def StartNewServer(self, request, context):

        try:
            rl_msg = server_manager_pb2.RobotServer()
            rl_server = self.srv_mngr.add_rl_server(cmd=request.cmd,
                                                    gui=request.gui)
            assert isinstance(rl_server, int)
            rl_msg.port = rl_server
            rl_msg.success = 1
            print("Robot Server started at {} successfully".format(
                repr(rl_server)))
            return rl_msg

        except:
            print("Failed to add Robot Server")
            return server_manager_pb2.RobotServer(success=0)
Exemplo n.º 6
0
    def StartNewServer(self, request, context):
        logger.info('Starting Robot Server...')
        try:
            rl_msg = server_manager_pb2.RobotServer()
            rl_server = self.srv_mngr.add_rl_server(cmd=request.cmd,
                                                    gui=request.gui)
            assert isinstance(rl_server, int)
            rl_msg.port = rl_server
            rl_msg.success = 1
            logger.info('Robot Server started at %s successfully',
                        repr(rl_server))
            return rl_msg

        except:
            logger.error('Failed to add Robot Server', exc_info=True)
            return server_manager_pb2.RobotServer(success=0)
Exemplo n.º 7
0
    def start_new_server(self, cmd, gui):

        i = 0
        while (i < 1000):
            try:
                print('Starting new Robot Server | Tentative {}'.format(
                    str(i + 1)))
                rl_server = self.stub.StartNewServer(request= server_manager_pb2.RobotServer(cmd= cmd, \
                                                                                             gui= gui), timeout =240)

                if rl_server.success:
                    print('Successfully started Robot Server at {}:{}'.format(
                        self.ip, str(rl_server.port)))
                    return (self.ip + ':' + str(rl_server.port))
                else:
                    pass
            except:
                pass
            i += 1

        raise RuntimeError(
            "Failed multiple tentatives to start new Robot Server")
Exemplo n.º 8
0
    def kill_all(self):

        msg = server_manager_pb2.RobotServer()
        return self.stub.KillAllServers(msg).success