有没有一种简单的方法可以优雅地关闭python grpc服务器?

有没有一种简单的方法可以优雅地关闭python grpc服务器?,python,kubernetes,grpc,Python,Kubernetes,Grpc,是一个解释如何优雅地关闭kotlin中GRPC服务器的博客 这是唯一的办法吗?对现场通话进行计数并手动处理SIGTERM?这应该是正常的行为 我找不到如何在python中计算实时调用。有人能给我指点有帮助的文档吗?事实证明,有一种简单的方法可以代替计算RPC,下面是我是如何做到这一点的: server = grpc.server(futures.ThreadPoolExecutor(max_workers=100)) {} = {}Impl() add_{}Servicer_to_server(

是一个解释如何优雅地关闭kotlin中GRPC服务器的博客

这是唯一的办法吗?对现场通话进行计数并手动处理SIGTERM?这应该是正常的行为


我找不到如何在python中计算实时调用。有人能给我指点有帮助的文档吗?

事实证明,有一种简单的方法可以代替计算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')

事实证明,有一种简单的方法来代替计算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')

gRPC Python服务器有一个(新的)。只需调用
服务器。等待\u终止()

gRPC Python服务器有一个(新的)。只需调用服务器。等待终止()

这是否处理SIGTERM?也看到我的答案了,它不处理SIGTERM,它处理SIGTERM吗?也看看我的答案,它不适用于SIGTERM