Python GRPC-连接打开/关闭处理程序

时间:2019-09-04 12:42:57

标签: python grpc

每当grpc服务器打开/关闭与某些客户端的新传输连接时,我都希望有一些通知/处理程序。

我发现了这个question,它导致了这个ServerTransportFilter解决方案。但是,此选项引用 grpc-java 实现。 我在python grpc包上搜索了它,却找不到它。

我找到的最接近的机制是服务器构造函数中的interceptor参数,但这会在每个rpc中发生,并且无论如何都不包含有关连接打开/关闭的信息。

1 个答案:

答案 0 :(得分:1)

对于客户端而言,Channel.subscribe是您所需要的。

但是对于服务器端,这是一个棘手的问题。传输逻辑(TCP套接字)是在gRPC C-Core中实现的,这对于Python包装器层而言是不完全可见的。因此,当前您无法为这些事件注册处理程序。

也许可以通过某种方式实现拦截器中的功能,但这需要在此处获得有关目标的更多详细信息。

如果您认为此功能对您的项目很重要,请向grpc/grpc提交问题。