from concurrent import futures import socket import time import grpc import grpcdemo_pb2 import grpcdemo_pb2_grpc ONE_DAY = 60 * 60 * 24 # Sleep time in seconds PORTNO = 6000 class HostDateTime(grpcdemo_pb2_grpc.HostDateTimeServicer): def GetDateTime(self, request, context): return grpcdemo_pb2.CurrentDateTime(currentdatetime='%s: %s' % (socket.getfqdn(), time.strftime("%c"))) def serve(): server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) grpcdemo_pb2_grpc.add_HostDateTimeServicer_to_server(HostDateTime(), server) server.add_insecure_port('[::]:%s' % PORTNO) server.start() try: while True: time.sleep(ONE_DAY) except KeyboardInterrupt: server.stop(0) if __name__ == '__main__': serve()