从流程中识别并消除不良处理的最佳方法是什么?

时间:2019-03-14 08:55:35

标签: kdb k

添加这个问题并不多。我想在我的流程中添加一个识别“错误句柄”并删除它们的功能。

更新:我知道“错误的句柄”听起来像一个模糊的术语。基本上任何阻止我通过IPC与流程进行通信的内容。

1 个答案:

答案 0 :(得分:1)

我仍然不确定“错误处理”的含义。如果您可以举一个例子说明您的意思,那将会很有帮助。

您可以随时检查key[.z.W]的句柄或句柄列表,这将返回q认为有效的句柄列表

您可以实施异步ping测试,该测试将测试进程当前是否繁忙。

q)\q -p 5567
q)\q -p 5568
q)h:hopen each 5566+til 3
q)h
3 4 5i
q){valid::x!count[x]#0b;neg[x]@\:({neg[.z.w]"valid[.z.w]:1b"};`);} h
q)valid
3| 1
4| 1
5| 1
q)neg[h 1]("system";"sleep 10")
q){valid::x!count[x]#0b;neg[x]@\:({neg[.z.w]"valid[.z.w]:1b"};`);} h
q)valid
3| 1
4| 0
5| 1

此外,任何远程释放的句柄都会触发.z.pc函数,您可以在此函数中添加自己的逻辑。