2016-11-11 964 views

回答

3

是的,有一个replace_running_query选项。

总之,你可以在query_id参数添加到您的HTTP请求,这样的:

http://localhost:8123/?query=SELECT * FROM system.numbers LIMIT 100000000& replace_running_query=1&query_id=example

又做了第二HTTP请求,以相同的query_id

http://localhost:8123/?query=SELECT 1&replace_running_query=1&query_id=example

服务器将取消第一个查询并运行第二个查询。

您可以在配置文件中覆盖该选项(默认情况下禁用该选项)以摆脱将其置于请求参数中的选项。

+0

我不使用HTTP接口,但clickhouse客户端,我不认为可以通过客户端使用'replace_running_query'。顺便说一句,我不是系统管理员,所以我不能修改配置或打开8123端口。我让系统管理员重新启动受影响的节点,并解决了问题(但并不理想)。 – DamnWidget

+0

@DamnWidget顺便说一下,我在Ctrl + C上使用了同样的方法(使用replace_running_query)来杀死查询[clickhouse-cli](https://github.com/hatarist/clickhouse-cli)。嘿,感谢Anaconda,我用了很多! –

+0

要试一试谢谢!我也使用anaconda很多,这是我写的主要原因:) – DamnWidget