我试图首次使用新的API功能中止长时间运行的查询(带有id 225)。但我不能让它杀死这个请求。 API请求以
回答 {"error":true,"code":404,"errorNum":404,"errorMessage":"not found"}
虽然查询仍在运行。
[
{
"id": "225",
"query": [SNIP]
}
]
我做错了什么? 提前谢谢......
答案 0 :(得分:1)
只能猜测,因为问题不包含实际发布内容和使用哪种HTTP方法的完整信息。
我的猜测是,当您尝试终止查询而不是HTTP DELETE时,您使用了HTTP GET。所以URL可能是正确的,但不是HTTP方法。在这种情况下,您还会收到404错误。
终止正在运行的查询有两种方法:
使用ArangoShell
首先,需要确定查询ID。这可以通过以下方式实现:
require("org/arangodb/aql/queries").current();
使用返回的id
值,终止查询的命令是:
require("org/arangodb/aql/queries").kill(id);
使用HTTP
当查询已知时,它可以在HTTP DELETE请求中使用:
curl -X DELETE http://127.0.0.1:8529/_api/query/id
同样,id
需要成为查询的真实身份。