-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.py
33 lines (23 loc) · 1.01 KB
/
server.py
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
from concurrent import futures
import grpc
from proto import stockService_pb2_grpc, stockService_pb2
from services.stock_service import StockService
import yaml
yamlfile = open("config/config.yaml", "r")
yaml_info = yaml.load(yamlfile, Loader=yaml.FullLoader)
port = yaml_info["port"]
class StockServiceServer(stockService_pb2_grpc.StockServiceServicer):
def __init__(self):
self.stock_service = StockService()
def GetProductsFromCountry(self, request, context):
response = stockService_pb2.GetProductFromCountryPayload()
products = self.stock_service.get_products_from_country(request.name)
response.product.extend(products)
return response
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
stockService_pb2_grpc.add_StockServiceServicer_to_server(
StockServiceServer(), server)
print('Starting server. Listening on port {port}.'.format(port=port))
server.add_insecure_port('[::]:{port}'.format(port=port))
server.start()
server.wait_for_termination()