Here是一个博客,介绍了如何在Kotlin中正常关闭GRPC服务器。
这是唯一的方法吗?计数实时呼叫并手动处理SIGTERM?这应该是正常现象。
我找不到如何计算python中的实时通话次数。有人可以指出我会提供帮助的文档吗?
答案 0 :(得分:1)
结果是有一种简便的方法可以代替计数RPC,这是我的完成方式:
server = grpc.server(futures.ThreadPoolExecutor(max_workers=100))
{} = {}Impl()
add_{}Servicer_to_server({}, server)
server.add_insecure_port('[::]:' + port)
server.start()
logger.info('Started server at ' + port)
done = threading.Event()
def on_done(signum, frame):
logger.info('Got signal {}, {}'.format(signum, frame))
done.set()
signal.signal(signal.SIGTERM, on_done)
done.wait()
logger.info('Stopped RPC server, Waiting for RPCs to complete...')
server.stop(NUM_SECS_TO_WAIT).wait()
logger.info('Done stopping server')
答案 1 :(得分:0)
gRPC Python服务器具有一个(新的)method for this。只需致电server.wait_for_termination()