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

Cha*_*aju 2 python kubernetes grpc

是一篇解释如何在 kotlin 中正常关闭 GRPC 服务器的博客。

这是唯一的方法吗?手动计算实时呼叫并处理 SIGTERM?这应该是正常的行为。

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

Cha*_*aju 5

原来有一个简单的方法而不是计算 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')
Run Code Online (Sandbox Code Playgroud)