python-3.x - 如何检查连接到 GRPC 服务器的客户端
问题描述
为了为我的 GRPC 服务器/客户端设置提供更好的调试信息,我试图找到一个 API grpc.server
,以便我检查哪些客户端连接到服务器。
我发现的最有希望的问题是question,它为如何在 Java GRPC 中做到这一点提供了一个起点。但是,Python GRPC 实现中不存在 Java API。
到目前为止,我context.peer()
使用grpc.ServicerContext
. 如果对等点有一段时间没有发送请求(我设置为 2 秒的超时),我假设客户端已断开连接。
我已经开始查看 python-grpc 源代码,但我没有取得任何进展。
如果有人知道我可以使用的python中类似的API,那将不胜感激!即使是内部 API 也足以满足这些调试需求。
解决方案
我找到了更多有关 channelz 的文档和示例,其他人一直在建议它,这似乎是您想要的。
这是一个拉取请求,它给出了一个使用 channelz 的例子。它仅使用 GetServer channelz API,因此您必须对其进行调整。
这是一个使用 channelz 的单元测试,它测试可能与 GetTopChannels API 相关的 API。
推荐阅读
- r - 如何使用字符/长字符串数据折叠和聚合行
- scala - 编译器未“选择”辅助构造函数
- sql - 根据选择中的计数列返回最大行
- php - Magento 2 Collection Date 按一小时过滤
- python - 如何从 Django 模板创建指向我的 React 应用程序的链接
- c++ - 如果在 DLL 和调用应用程序中使用 GPGPU API 会发生什么
- selenium - 在方法外将 Webdriver 声明为 null 并在方法内声明 Webdriver 时出现空指针异常
- angular - 使用索引编辑单击行中的特定元素
- scala - Scala Map 的 get vs apply 操作:“类型不匹配”
- python-3.x - 使用 Python 查找字符串的所有可能子序列