def run(): channel = grpc.insecure_channel( 'localhost:50051') #create a channel to our server try: grpc.channel_ready_future(channel).result( timeout=10) #client waits for timeout except grpc.FutureTimeoutError: sys.exit('Error connecting to server') else: stub = users_service.UsersStub( channel ) #else create a BertSqquadStub object and pass channel as arg metadata = [('ip', '127.0.0.1')] response = stub.CreateUser( users_messages.CreateUserRequest(username='******'), metadata=metadata, ) if response: print("User created:", response.user.username) request = users_messages.GetUsersRequest( #request is of repeated type, so it is a list user=[ users_messages.User( username="******", user_id=1), #repeated User in GetUsersRequest message users_messages.User(username="******", user_id=1) ]) response = stub.GetUsers( request) #result of GetUsers is a stream, so iterate over it for resp in response: print(resp)
def run(): channel = grpc.insecure_channel('localhost:50051') try: grpc.channel_ready_future(channel).result(timeout=10) except grpc.FutureTimeoutError: sys.exit('Error connecting to server') else: stub = users_service.UsersStub(channel) metadata = [('ip', '127.0.0.1')] response = stub.CreateUser( users_messages.CreateUserRequest(username='******'), metadata=metadata, ) if response: print("User created:", response.user.username) request = users_messages.GetUsersRequest(user=[ users_messages.User(username="******", user_id=1), users_messages.User(username="******", user_id=1), users_messages.User(username="******", user_id=1), ]) response = stub.GetUsers(request) for resp in response: print(resp)
def users_get(): request = users_messages.GetUsersRequest(user=[ users_messages.User(username="******", user_id=1), users_messages.User(username="******", user_id=1) ]) def get_user(): response = app.config['users'].GetUsers(request) for resp in response: yield MessageToJson(resp) return Response(get_user(), content_type='application/json')
def users_get(): request = users_messages.GetUsersRequest(user=[ users_messages.User(username="******", user_id=1), users_messages.User(username="******", user_id=1) ]) response_list = [] def get_users(): response = app.config['users'].GetUsers(request) for resp in response: response_list.append(json.loads(MessageToJson(resp.user))) get_users() return jsonify(response_list)
def run(): users = ServiceClient(users_service, 'UsersStub', 'localhost', 50051) # Insert example metadata metadata = [('ip', '127.0.0.1')] response = users.CreateUser( users_messages.CreateUserRequest(username='******'), metadata=metadata) if response: print("User created:", response.user.username) request = users_messages.GetUsersRequest(user=[ users_messages.User(username="******", user_id=1), users_messages.User(username="******", user_id=1) ]) response = users.GetUsers(request) for resp in response: print(resp)
def GetUsers(self, request, context): for user in request.user: user = users_messages.User( username=user.username, user_id=user.user_id ) yield users_messages.GetUsersResult(user=user) #get each user and wrap in its according message(type) GetUsersResult
def CreateUser(self, request, context): metadata = dict(context.invocation_metadata()) print(metadata) user = users_messages.User(username=request.username, user_id=1) return users_messages.CreateUserResult(user=user)
def GetUsers(self, request, context): for user in request.user: user = users_messages.User(username=user.username, user_id=user.user_id) yield users_messages.GetUsersResult(user=user)
def CreateUser(self, request, context): user = users_messages.User(username=request.username, user_id=1) if random.random() > 0.5: 1 / 0 return users_messages.CreateUserResult(user=user)