Newer
Older
grpcdemo / python / grpcdemo_server.py
@tundra tundra on 12 Feb 2017 739 bytes first cut of server code
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 SayHello(self, request, context):
    return grpcdemo_pb2.CurrentDateTime(message='%s: %s!' % (socket.fqdn(), 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()