Newer
Older
#!/usr/bin/python
import os
from concurrent import futures
import grpc
from grpc_health.v1 import health
from grpc_health.v1 import health_pb2
from grpc_health.v1 import health_pb2_grpc
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from logger import getJSONLogger
logger = getJSONLogger('monitoringservice-server')
logger.setLevel('DEBUG')
import threading
class monitoringService(monitoring_pb2_grpc.MonitoringServiceServicer):
def __init__(self):
logger.info("init monitoringService")
def IncludeKpi(self, request, context):
#KPI, returns empty
logger.info("IncludeKpi")
return
def MonitorKpi ( self, request, context):
#KpiDevice returns (google.protobuf.Empty) {}
logger.info("IncludeKpi")
return
def GetStream_kpi ( self, request, context):
#KpiId ) returns (stream Kpi) {}
logger.info("IncludeKpi")
return
def GetInstantKpi ( self, request, context):
#KpiId ) returns ( Kpi) {}
logger.info("IncludeKpi")
return
if __name__ == "__main__":
logger.info("initializing monitoringService")
port = os.environ.get('PORT', "7070")
# create gRPC server
serverGRPC = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) # ,interceptors=(tracer_interceptor,))
service = monitoring_pb2_grpc.MonitoringService()
monitoring_pb2_grpc.add_MonitoringServiceServicer_to_server(service, serverGRPC)
health_servicer = health.HealthServicer(experimental_non_blocking=True,experimental_thread_pool=futures.ThreadPoolExecutor(max_workers=1))
health_pb2_grpc.add_HealthServicer_to_server(health_servicer, serverGRPC)
# start server
logger.info("listening on port: " + port)
serverGRPC.add_insecure_port('[::]:'+port)
serverGRPC.start()
health_servicer.set("", health_pb2.HealthCheckResponse.SERVING)
# keep alive
try:
while True:
time.sleep(0.1)
except KeyboardInterrupt: