kdb - 在 q 中为 .z.pg 处理程序编写逻辑
问题描述
我喜欢为 .z.pg 编写逻辑,因此当远程客户端从端口登录时,我的表会填充某些信息,例如:
.ipc.history:enlist`time`handle`user`query`result!(0Np;0Ni;`;::;::)
所以我写了以下逻辑:
.z.pg:{[x] r:value x;`.ipc.history insert (.z.p;.z.w;.z.u;value x;r);r}
基于:
.z.pg:{[x]0N!(`zpg;x);value x }
我假设 x 是像“1+1”这样的查询。
所以当我在端口上监听时:
q queryHistory1.q -p 5000
并且客户端在 上进行一些查询(r)handle:hopen 5000
;我的表 .ipc.history 填充了它包含的字段。
虽然我没有收到错误,但我的表是空的。
解决方案
在我自己的测试中,您似乎可以按预期工作。最初,在不更改您的代码的情况下,在进行查询 h"1+1" 客户端后,我的表中填充了以下内容
time handle user query result
--------------------------------------------------------------------------
:: ::
2019.02.11D17:22:04.976012000 560 Liam McGrenaghan 2 2
您是使用正句柄同步查询,还是使用负句柄异步查询?.z.pg 适用于前者,而 .z.ps 适用于后者。在以下链接中还有更多关于使用 .z 函数进行监控的有用信息。https://code.kx.com/q/cookbook/using-dotz/。
此外,您可能希望在表中显示原始查询本身,而不是查询的计算结果,如果是这种情况,则只需使用。
.z.pg:{[x] r:value x;`.ipc.history insert (.z.p;.z.w;.z.u;x;r);r}
其中 x 已替换值 x。然后,这返回了一个可能更多您正在寻找的表格。
time handle user query result
-------------------------------------------------------------------------
2019.02.11D17:24:25.008643000 560 Liam McGrenaghan "1+1" 2
推荐阅读
- python - 是否可以从 kv 文件中的另一个类调用函数?
- asp.net - 从 MS SQL 导出 asp.net vb 中的 Json 数据
- python-3.x - Colab 无法识别本地 gpu
- javascript - React 中带有单选按钮的动态文本显示
- wordpress - WooCommerce 订阅 - 自动切换成本和间隔
- c++ - 可以把这个传给会员吗?
- amazon-web-services - 如何配置无服务器 Cognito Lambda 触发器
- powershell - 如何使用 PnP PowerShell 检索大型 SharePoint 库中的所有列表项
- python - 根据列表的元素生成列表列表
- angular - 如何防止“重新加载站点”?警报?(角度 8,铬 75.0)