我们有一个股票代码工厂,有时有人错误地在没有日期的 HDB 中运行查询,或者在没有时间的 RDB 中运行查询,或者使用其他一些可能会杀死 KDB 的处理逻辑。我们如何在不重新启动 KDB 实例的情况下找到并终止查询?
问问题
2633 次
2 回答
5
您可以在服务中设置客户端查询超时:
参数:'-T'
参考:http ://code.kx.com/q4m3/13_Commands_and_System_Variables/#13121-timeout-t
来自 wiki:超时参数(注意大写)是一个 int,它指定来自客户端的任何调用在超时和终止之前将执行的秒数。默认值为 0,表示没有超时。此参数对应于命令 \T。
例如: 开始你的 q 进程:
q -T 40
它将客户端查询超时设置为 40 秒。
于 2015-01-19T15:21:08.303 回答
1
正如@Rahul 所说,您可以使用 T 超时。
如果你在一个 unix 系统上,你也可以kill -SIGINT <pid>
- 这会杀死当前线程。不过,在多线程模式下,您可能会得到不同的结果。
于 2015-01-19T21:03:00.043 回答