def test_context(rpc_mode='REQUEST_REPLY'): port = portpicker.pick_unused_port() server_pool = logging_pool.pool(max_workers=1) server = grpc.server(server_pool) server.add_insecure_port('[::]:{}'.format(port)) target_executor = executor_stacks.local_executor_factory( num_clients=3).create_executor({}) tracer = executor_test_utils.TracingExecutor(target_executor) service = executor_service.ExecutorService(tracer) executor_pb2_grpc.add_ExecutorServicer_to_server(service, server) server.start() channel = grpc.insecure_channel('localhost:{}'.format(port)) remote_exec = remote_executor.RemoteExecutor(channel, rpc_mode) executor = lambda_executor.LambdaExecutor(remote_exec) set_default_executor.set_default_executor( executor_factory.ExecutorFactoryImpl(lambda _: executor)) try: yield collections.namedtuple('_', 'executor tracer')(executor, tracer) finally: set_default_executor.set_default_executor() try: channel.close() except AttributeError: pass # Public gRPC channel doesn't support close() finally: server.stop(None)
def test_context(): port = portpicker.pick_unused_port() server_pool = logging_pool.pool(max_workers=1) server = grpc.server(server_pool) server.add_insecure_port('[::]:{}'.format(port)) target_executor = eager_executor.EagerExecutor() service = executor_service.ExecutorService(target_executor) executor_pb2_grpc.add_ExecutorServicer_to_server(service, server) server.start() channel = grpc.insecure_channel('localhost:{}'.format(port)) executor = remote_executor.RemoteExecutor(channel) set_default_executor.set_default_executor(executor) yield executor set_default_executor.set_default_executor() try: channel.close() except AttributeError: del channel server.stop(None)
def create_remote_executor(): port = portpicker.pick_unused_port() channel = grpc.insecure_channel('localhost:{}'.format(port)) executor = remote_executor.RemoteExecutor(channel, 'REQUEST_REPLY') return executor