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 方法。
创建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 方法。