-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathplugin_server.py
More file actions
51 lines (35 loc) · 1.36 KB
/
plugin_server.py
File metadata and controls
51 lines (35 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
import logging
from concurrent import futures
import grpc
from cloudquery.plugin_v3 import plugin_pb2, plugin_pb2_grpc
class PluginServicer(plugin_pb2_grpc.PluginServicer):
def __init__(self):
pass
def GetName(self, request, context):
return plugin_pb2.GetName.Response(name="plugin test")
def GetVersion(self, request, context):
return plugin_pb2.GetVersion.Response(version="0.0.1")
def Init(self, request, context):
return plugin_pb2.Init.Response()
def GetTables(self, request, context):
return plugin_pb2.GetTables.Response(tables=[])
def Sync(self, request, context):
return plugin_pb2.Sync.Response()
def Read(self, request, context):
return plugin_pb2.Read.Response()
def Write(self, request_iterator, context):
for request in request_iterator:
print(request)
return plugin_pb2.Write.Response()
def Close(self, request, context):
return plugin_pb2.Close.Response()
def serve():
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
plugin_pb2_grpc.add_PluginServicer_to_server(PluginServicer(), server)
server.add_insecure_port("[::]:50051")
print("Starting server. Listening on port 50051")
server.start()
server.wait_for_termination()
if __name__ == "__main__":
logging.basicConfig()
serve()