Exemplo n.º 1
0
    def _start_grpc(self, mux: StreamMux) -> int:
        from .server_grpc import WandbServicer
        import grpc
        from wandb.proto import wandb_server_pb2_grpc as spb_grpc

        address: str = self._address or "127.0.0.1"
        port: int = self._grpc_port or 0
        pid: int = self._pid or 0
        server = grpc.server(
            futures.ThreadPoolExecutor(max_workers=10,
                                       thread_name_prefix="GrpcPoolThr"))
        servicer = WandbServicer(server=server, mux=mux)
        try:
            spb_grpc.add_InternalServiceServicer_to_server(servicer, server)
            port = server.add_insecure_port(f"{address}:{port}")
            mux.set_port(port)
            mux.set_pid(pid)
            server.start()
        except KeyboardInterrupt:
            mux.cleanup()
            server.stop(0)
            raise
        except Exception:
            mux.cleanup()
            server.stop(0)
            raise
        return port
Exemplo n.º 2
0
def serve(backend):
    try:
        server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
        wandb_server_pb2_grpc.add_InternalServiceServicer_to_server(
            InternalServiceServicer(server, backend), server)
        server.add_insecure_port("[::]:50051")
        server.start()
        server.wait_for_termination()
        # print("server shutting down")
        # print("shutdown")
    except KeyboardInterrupt:
        print("control-c")