def serve():
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
metric_interceptor = MetricInterceptor()
logging_interceptor = LoggingInterceptor()
server = intercept_server(server, metric_interceptor, logging_interceptor)
users_service.add_UsersServicer_to_server(UsersService(), server)
# read in key and certificate
with open(os.path.join(os.path.split(__file__)[0], 'server.key')) as f:
private_key = f.read().encode()
with open(os.path.join(os.path.split(__file__)[0], 'server.crt')) as f:
certificate_chain = f.read().encode()
# create server credentials
server_creds = grpc.ssl_server_credentials(
((private_key, certificate_chain,),))
server.add_secure_port('localhost:50051', server_creds)
server.start()
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
python类server()的实例源码
def await_termination(self):
"""
server.start() doesn't block so we explicitly block here unless someone keyboard-exits us.
:return:
"""
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
self.server.stop(0)
pass
def GetResults(self, request, context):
logger.debug("server: get_results")
if request.comp_id not in self.results:
message = 'unknown computation id {}'.format(request.comp_id)
return hetr_pb2.GetResultsReply(status=False, message=message)
try:
pb_results = []
for r in self.results[request.comp_id]:
pb_val = hetr_pb2.Value()
if is_scalar_type(r):
assign_scalar(pb_val.scalar, r)
else:
pb_val.tensor.CopyFrom(tensor_to_protobuf(r))
pb_results.append(pb_val)
return hetr_pb2.GetResultsReply(status=True, results=pb_results)
except Exception:
return hetr_pb2.GetResultsReply(status=False, message=traceback.format_exc())
def serve():
protoConfig = ProtoConfig.getConfig()
arduino = protoConfig.arduinos[0]
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
sensors_pb2.add_ArduinoServicer_to_server(Arduino(arduino), server)
port = protoConfig.ports.arduinoPort
server.add_insecure_port('[::]:%s' % port)
server.start()
print('Started Arduino Server on Port %s ' % port)
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def serve():
protoConfig = ProtoConfig.getConfig()
sensor_db = Mongo()
sensor_db.GetClient() # initalize the Db
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
dao_pb2.add_DaoServicer_to_server(Dao(sensor_db), server)
port = protoConfig.ports.daoPort
server.add_insecure_port('[::]:%s' % port)
server.start()
print('Started Dao Server on Port %s ' % port)
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def serve():
protoConfig = ProtoConfig.getConfig()
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
pushServer = Push(accessToken=protoConfig.wioLinks['havok'].accessToken)
sensors_pb2.add_PushServicer_to_server(pushServer, server)
port = protoConfig.ports.pushPort
server.add_insecure_port('[::]:%s' % port)
server.start()
print('Started Push Server on Port %s ' % port)
websocket.enableTrace(True)
ws = websocket.WebSocketApp(
"wss://us.wio.seeed.io/v1/node/event",
on_message = pushServer.on_message,
on_error = pushServer.on_error,
on_close = pushServer.on_close)
ws.on_open = pushServer.on_open
ws.run_forever()
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def __init__(self, gRPC_module, inner_service_port=None):
self.__peer_id = None if ObjectManager().peer_service is None else ObjectManager().peer_service.peer_id
# for peer_service, it refers to peer_inner_service / for rs_service, it refers to rs_admin_service
self.inner_server = grpc.server(futures.ThreadPoolExecutor(max_workers=conf.MAX_WORKERS))
self.outer_server = grpc.server(futures.ThreadPoolExecutor(max_workers=conf.MAX_WORKERS))
# members for private, It helps simplicity of code intelligence
self.__gRPC_module = gRPC_module
self.__port = 0
self.__inner_service_port = inner_service_port
self.__peer_target = None
if inner_service_port is not None: # It means this is Peer's CommonService not RS.
peer_port = inner_service_port - conf.PORT_DIFF_INNER_SERVICE
self.__peer_target = util.get_private_ip() + ":" + str(peer_port)
self.__subscriptions = queue.Queue() # tuple with (channel, stub)
self.__group_id = ""
# broadcast process
self.__broadcast_process = self.__run_broadcast_process()
self.__loop_functions = []
def serve():
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
helloworld_pb2_grpc.add_GreeterServicer_to_server(_GreeterServicer(), server)
route_guide_pb2_grpc.add_RouteGuideServicer_to_server(
_RouteGuideServicer(), server)
server.add_insecure_port('[::]:50051')
server.start()
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
hello_world_server.py 文件源码
项目:opencensus-python
作者: census-instrumentation
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def serve():
sampler = always_on.AlwaysOnSampler()
exporter = stackdriver_exporter.StackdriverExporter()
tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(
sampler, exporter)
server = grpc.server(
futures.ThreadPoolExecutor(max_workers=10),
interceptors=(tracer_interceptor,))
hello_world_pb2_grpc.add_HelloWorldServicer_to_server(HelloWorld(), server)
server.add_insecure_port('[::]:50051')
server.start()
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def main(listen_addrs=['127.0.0.1:9901']):
s = create_server(listen_addrs)
print("Server created on", listen_addrs)
s.start()
print("Server started")
import signal
old1 = signal.signal(signal.SIGINT, signal_handler)
old2 = signal.signal(signal.SIGTERM, signal_handler)
import time
# signal.pause is not valid in windows
try:
while True:
time.sleep(3600 * 24)
except QuitException:
print("Quit server")
shutdown_event = s.stop(5)
shutdown_event.wait()
finally:
signal.signal(signal.SIGINT, old1)
signal.signal(signal.SIGTERM, old2)
def start_services(node: QRLNode):
p2p_node = P2PNode(node)
public_server = grpc.server(ThreadPoolExecutor(max_workers=1),
maximum_concurrent_rpcs=config.user.max_peers_limit)
add_BaseServicer_to_server(BaseService(node), public_server)
add_P2PAPIServicer_to_server(p2p_node.service, public_server)
add_PublicAPIServicer_to_server(PublicAPIService(node), public_server)
public_server.add_insecure_port("[::]:9009")
public_server.start()
logger.info("grpc public service - started !")
admin_server = grpc.server(ThreadPoolExecutor(max_workers=1),
maximum_concurrent_rpcs=config.user.max_peers_limit)
add_AdminAPIServicer_to_server(AdminAPIService(node), admin_server)
admin_server.add_insecure_port("127.0.0.1:9008")
admin_server.start()
logger.info("grpc admin service - started !")
return admin_server, public_server, p2p_node
def start_server(riot_api_token, listening_port, max_workers):
"""Starts a server."""
service = MatchFetcher(riot_api_token)
server = grpc.server(futures.ThreadPoolExecutor(max_workers=max_workers))
service_pb2.add_MatchFetcherServicer_to_server(service, server)
server.add_insecure_port('[::]:%s' % listening_port)
server.start()
return server, service
def main():
"""Parse command line arguments and start the server."""
if FLAGS.riot_api_token == "":
logging.critical("Required argument 'riot_api_token' is empty.")
return 1
server, _ = start_server(FLAGS.riot_api_token, FLAGS.port,
FLAGS.max_workers)
try:
while True:
time.sleep(60 * 60 * 24)
except KeyboardInterrupt:
server.stop(0)
def __init__(self, greeter_service, server_port):
self.server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
helloworld_pb2_grpc.add_GreeterServicer_to_server(greeter_service, self.server)
self.server.add_insecure_port('[::]:{server_port}'.format(server_port=server_port))
def start(self):
self.server.start()
def stop(self):
self.server.stop(0)
def SayHello(self, hello_request, context):
print("Greeter server received: " + hello_request.name)
hello_reply = helloworld_pb2.HelloReply()
hello_reply.message = 'Hello {name}'.format(name=hello_request.name)
return hello_reply
def grpc_server(grpc_addr):
server = grpc.server(futures.ThreadPoolExecutor(max_workers=2))
hello_pb2_grpc.add_HelloServicer_to_server(rpc.HelloGRpcServer(), server)
for addr in grpc_addr:
server.add_insecure_port(addr)
server.start()
yield server
server.stop(0)
def serve():
shade.simple_logging(debug=True)
logging.getLogger().setLevel(logging.INFO)
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
oaktree_pb2.add_OaktreeServicer_to_server(OaktreeServicer(), server)
server.add_insecure_port('[::]:50051')
logging.info("Starting server")
server.start()
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def __init__(self, comm, server):
self.results = dict()
self.computations = dict()
self.comp_id_ctr = 0
self.comm = comm
self.server = server
self.transformer_type = None
def BuildTransformer(self, request, context):
logger.debug("server: build_transformer")
self.transformer_type = request.transformer_type[:3]
if self.transformer_type not in ['gpu', 'cpu']:
message = 'unknown transformer type {}'.format(self.transformer_type)
return hetr_pb2.BuildTransformerReply(status=False, message=message)
try:
self.transformer = build_transformer(name=request.transformer_type, comm=self.comm)
return hetr_pb2.BuildTransformerReply(status=True)
except Exception:
return hetr_pb2.BuildTransformerReply(status=False, message=traceback.format_exc())
def Computation(self, request_iterator, context):
logger.debug("server: computation")
if not self.transformer:
return hetr_pb2.ComputationReply(comp_id=-1,
message="build transformer before computation")
try:
comp_id = self.new_comp_id()
pb_ops, pb_edges = [], []
returns, placeholders = [], []
reconstructed_returns, reconstructed_placeholders = [], []
for request in request_iterator:
pb_ops.extend(request.ops)
pb_edges.extend(request.edges)
returns.extend([protobuf_to_op(op) for op in request.returns])
placeholders.extend([protobuf_to_op(op) for op in request.placeholders])
subgraph = _deserialize_graph_ops_edges(pb_ops, pb_edges)
ops = Op.ordered_ops(subgraph)
for r in returns:
for op in ops:
if op.uuid == r.uuid:
reconstructed_returns.append(op)
for p in placeholders:
for op in ops:
if op.uuid == p.uuid:
reconstructed_placeholders.append(op)
computation = self.transformer.computation(reconstructed_returns,
*reconstructed_placeholders)
self.computations[comp_id] = computation
return hetr_pb2.ComputationReply(comp_id=comp_id)
except Exception:
return hetr_pb2.ComputationReply(comp_id=-1, message=traceback.format_exc())
def FeedInput(self, request, context):
logger.debug("server: feed_input")
if request.comp_id not in self.computations:
message = 'unknown computation id {}'.format(request.comp_id)
return hetr_pb2.FeedInputReply(status=False, message=message)
try:
values = []
for v in request.values:
if v.HasField('scalar'):
values.append(protobuf_scalar_to_python(v.scalar))
else:
values.append(pb_to_tensor(v.tensor))
computation = self.computations[request.comp_id]
if self.transformer.transformer_name == "gpu":
import pycuda.driver as drv
if self.transformer.runtime and \
not self.transformer.runtime.ctx == drv.Context.get_current():
self.transformer.runtime.ctx.push()
# TODO figure out doc for rpdb to pass in port
# give unique port per device (4444 + device_id)
outputs = computation(*values)
self.transformer.runtime.ctx.pop()
else:
outputs = computation(*values)
self.results[request.comp_id] = outputs
return hetr_pb2.FeedInputReply(status=True)
except Exception:
return hetr_pb2.FeedInputReply(status=False, message=traceback.format_exc())
def Close(self, request, context):
logger.debug("server: close, self.transformer_type %s", self.transformer_type)
if use_mlsl:
HetrLocals.close_mlsl()
self.server.stop(0)
return hetr_pb2.CloseReply()
def serve():
parser = argparse.ArgumentParser()
parser.add_argument("-tf", "--tmpfile", nargs=1)
parser.add_argument("-p", "--ports", nargs='+')
args = parser.parse_args()
comm = MPI.COMM_WORLD
options = [('grpc.max_send_message_length', -1), ('grpc.max_receive_message_length', -1)]
server = grpc.server(futures.ThreadPoolExecutor(max_workers=1), options=options)
hetr_pb2_grpc.add_HetrServicer_to_server(HetrServer(comm, server), server)
logger.debug("server: rank %d, tmpfile %s, ports %s",
comm.Get_rank(), args.tmpfile[0], args.ports if args.ports is not None else "")
if args.ports is not None and len(args.ports) > comm.Get_rank():
p = args.ports[comm.Get_rank()]
if is_port_open(p):
port = server.add_insecure_port('[::]:' + p)
else:
raise RuntimeError("port %s is already in use!", p)
else:
port = server.add_insecure_port('[::]:0')
server.start()
write_server_info(args.tmpfile[0], port)
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def __grpcNetworkStart():
global PORT
try:
PORT = os.environ["GRPC_PORT"]
except:
PORT = "8001"
print("grpc listen port:"+PORT)
# grpc server
server = grpc.server(futures.ThreadPoolExecutor(max_workers = 10))
grpc_pb2_grpc.add_DiscoveryServicer_to_server(Discovery(),server)
# grpc_pb2_grpc.add_ConsensusServicer_to_server(Discovery(),server)
grpc_pb2_grpc.add_SynchronizationServicer_to_server(synchronization.Synchronization(),server)
server.add_insecure_port("[::]:%s" % PORT)
server.start()
threading.Thread(target = exchangeLoop).start()
try:
ROOT_TARGET = os.environ["ROOT_TARGET"]
except:
ROOT_TARGET = "35.185.134.104:8001"
threading.Thread(target = grpcJoinNode ,args=(ROOT_TARGET,)).start()
while True:
time.sleep(1)
def serve():
protoConfig = ProtoConfig.getConfig()
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
sensors_pb2.add_FrontEndServicer_to_server(FrontEnd(protoConfig), server)
port = protoConfig.ports.frontEndPort
server.add_insecure_port('[::]:%s' % port)
server.start()
print('Started FrontEnd Server on Port %s ' % port)
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def serve():
protoConfig = ProtoConfig.getConfig()
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
sensors_pb2.add_PushFrontEndServicer_to_server(PushFrontEnd(protoConfig), server)
port = protoConfig.ports.pushFrontEndPort
server.add_insecure_port('[::]:%s' % port)
server.start()
print('Started PushFrontEnd Server on Port %s ' % port)
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def __init__(self, bind, metrics_server):
self.server = grpc.server(concurrent.futures.ThreadPoolExecutor(max_workers=1))
bridge_pb2.add_BridgeServicer_to_server(Servicer(metrics_server), self.server)
self.server.add_insecure_port('%s:%d' % bind)
def start(self):
self.server.start()