gRPC 服务器中的 ThreadPoolExecutor 如何清理?

How ThreadPoolExecutor cleanup in gRPC server?

创建grpc服务器实例时,

server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))

ThreadPoolExecutor.shutdown 在 grpc 1.25.x.

中未被 server.stop() 调用

我想知道开发人员必须手动关闭还是 ThreadPoolExecutor 被某些东西关闭了(?)。

什么是停止 grpc server 和 ThreadPoolExecutor 的 grace 方法?

你是对的。 gRPC 不会关闭提供给服务器的 ThreadPoolExecutors。这是用户的责任。例如,您可以自由地将提供的线程池用于您自己的工作以及 gRPC 方法处理程序,因此该库为您执行此操作将超出其界限。

当然,在关闭使用它的服务器之前,您不想关闭线程池。为此,您需要使用 Server.stop 方法。