如何让 KDB 休眠 5 秒?

How can I make KDB sleep for 5 seconds?

我有一个正在查询的限速端点,因此我需要让 KDB 在请求之间暂停。有什么方法可以阻止当前线程吗?

您可以使用

system"sleep 5"

在 linux OS

system"timeout 5"

在 Windows OS

供参考 system 允许您 运行 OS 的任何命令。就像在终端中做 \ 一样\timeout 5~system"timeout 5"

使用 system 的解决方案适用于大多数用例。如果你想要一个 OS-agnostic 方法,可以使用下面的 lambda,将等待时间作为参数传递:

{t:.z.p;while[.z.p<t+x]} 00:00:05

如果您使用 secondary/slave 线程(例如,使用 peach)发出这些请求,也可以使用此方法,而尝试使用 system 关键字将失败在这种情况下。