def test_rpc(): client_threads = [threading.Thread(target=client_fn) for i in range(NUM_THREADS)] server_thread = threading.Thread(target=server_fn) #used to shutdown server client = rpc.connect(host, port) server_thread.start() for c in client_threads: c.start() for c in client_threads: c.join() #shutdown server client.shutdown() server_thread.join()
def test_rpc(): client_threads = [ threading.Thread(target=client_fn) for i in range(NUM_THREADS) ] server_thread = threading.Thread(target=server_fn) #used to shutdown server client = rpc.connect(host, port) server_thread.start() for c in client_threads: c.start() for c in client_threads: c.join() #shutdown server client.shutdown() server_thread.join()
def register(self, req, handle): ''' RPC method. Register a new worker with the master. Args: req (RegisterReq): handle (PendingRequest): ''' id = len(self._workers) self._workers[id] = rpc.connect(req.host, req.port) self._available_workers.append(id) util.log_info('Registered %s:%s (%d/%d)', req.host, req.port, id, self.num_workers) handle.done(core.EmptyMessage()) self.init_worker_score(id, req.worker_status) if len(self._workers) == self.num_workers: threading.Thread(target=self._initialize).start()
def run_kernel(self, req, handle): #simulate the actual run kernel, reply the response in different thread. self._kernel_threads.apply_async(self._run_kernel, args=(req, handle)) def _run_kernel(self, req, handle): handle.done(req) def shutdown(self, req, handle): util.log_info("Server shutdown") handle.done() threading.Thread(target=self._shutdown).start() def _shutdown(self): self._server.shutdown() client = rpc.connect(host, port) server = rpc.listen(host, port) server.register_object(EchoServer(server)) def server_fn(): ''' Server thread ''' server.serve() def client_fn(): ''' Client thread ''' for i in range(200): assert client.ping("spartan").wait() == "spartan" assert client.run_kernel("kernel").wait() == "kernel" def test_rpc():
#simulate the actual run kernel, reply the response in different thread. self._kernel_threads.apply_async(self._run_kernel, args=(req, handle)) def _run_kernel(self, req, handle): handle.done(req) def shutdown(self, req, handle): util.log_info("Server shutdown") handle.done() threading.Thread(target=self._shutdown).start() def _shutdown(self): self._server.shutdown() client = rpc.connect(host, port) server = rpc.listen(host, port) server.register_object(EchoServer(server)) def server_fn(): ''' Server thread ''' server.serve() def client_fn(): ''' Client thread ''' for i in range(200): assert client.ping("spartan").wait() == "spartan" assert client.run_kernel("kernel").wait() == "kernel"