def run_server(hostIP, port): print('Supernode started on {}:{}'.format(hostIP, port)) #GRPC server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) fileService_pb2_grpc.add_FileserviceServicer_to_server( FileServer(hostIP, port), server) server.add_insecure_port('[::]:{}'.format(port)) server.start() try: while True: time.sleep(_ONE_DAY_IN_SECONDS) except KeyboardInterrupt: server.stop(0)
def serve(): leader=True server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) if sys.argv[1] != str(3000): leader=False serverAddress= '127.0.0.1:'+sys.argv[1] print("Server started on" + sys.argv[1]) heartbeat_pb2_grpc.add_HearBeatServicer_to_server(Heartbeat(), server) print(leader) fileService_pb2_grpc.add_FileserviceServicer_to_server(FileService(leader, serverAddress, activeNodeObj), server) server.add_insecure_port('127.0.0.1:'+sys.argv[1]) server.start() try: while True: time.sleep(_ONE_DAY_IN_SECONDS) except KeyboardInterrupt: server.stop(0)
def run_server(hostname, server_port, raft_port, super_node_address): # Restricts the instantiation of a class to one "single" instance. activeNodesChecker = ActiveNodesChecker() shardingHandler = ShardingHandler(activeNodesChecker) raftHelper = RaftHelper(hostname, server_port, raft_port, activeNodesChecker, super_node_address) # Declare the gRPC server with 10 max_workers server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) # Add FileService to the server. fileService_pb2_grpc.add_FileserviceServicer_to_server(FileServer(hostname, server_port, activeNodesChecker, shardingHandler, super_node_address), server) # Add HeartBeatService to the server. heartbeat_pb2_grpc.add_HearBeatServicer_to_server(HeartbeatService.Heartbeat(), server) # Start the server on server_port. server.add_insecure_port('[::]:{}'.format(server_port)) server.start() print("Starting raft") # Start raft utility on separate thread. t1 = Thread(target=RaftHelper.startRaftServer, args=(raftHelper,)) # Start activeNodeChecker utility on separate thread. t2 = Thread(target=ActiveNodesChecker.readAvailableIPAddresses, args=(activeNodesChecker,)) t2.start() t1.start() print("Both threads have been started") # Keep the server running for '_ONE_DAY_IN_SECONDS' seconds. try: while True: time.sleep(_ONE_DAY_IN_SECONDS) except KeyboardInterrupt: server.stop(0)
def serve(): global mainLeader cmd_host = "127.0.0.1" serverAddress = cmd_host + ':' + sys.argv[1] print("Server started on" + sys.argv[1]) leader = None server = grpc.server(futures.ThreadPoolExecutor(max_workers=1000)) if mainLeader is not None and cmd_host == mainLeader.split(":")[0]: leader = True else: leader = False # if sys.argv[1] != str(3000): # leader=False heartbeat_pb2_grpc.add_HearBeatServicer_to_server(Heartbeat(), server) fileService_pb2_grpc.add_FileserviceServicer_to_server( FileService(leader, serverAddress, activeNodeObj), server) server.add_insecure_port('127.0.0.1:' + sys.argv[1]) #time.sleep(30) print("Current leader is ", mainLeader) server.start() thread = Thread(target=threaded_function, args=(sys.argv[1], )) print("System args", sys.argv[1]) thread.start() #thread.join() try: while True: time.sleep(_ONE_DAY_IN_SECONDS) #if mainLeader: # print("Current Main leader is ",mainLeader) #else: # print("not up") except KeyboardInterrupt: server.stop(0)
from concurrent import futures import sys sys.path.append('./proto') sys.path.append('./service') from concurrent.futures import ThreadPoolExecutor import grpc import time import fileService_pb2_grpc import fileService_pb2 from ReplicationService import ReplicationService # create a gRPC server server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) # use the generated function `add_CalculatorServicer_to_server` # to add the defined class to the server fileService_pb2_grpc.add_FileserviceServicer_to_server(ReplicationService(), server) # listen on port 50051 print('Starting server. Listening on port 50051.') server.add_insecure_port('[::]:50051') server.start() # since server.start() will not block, # a sleep-loop is added to keep alive try: while True: time.sleep(86400) except KeyboardInterrupt: server.stop(0)