Newer
Older
grpcdemo / python / grpcdemo_server.py
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()