Neo4j HTTP API事务超时期限

时间:2017-10-18 05:54:10

标签: neo4j

我正在使用neo4j HTTP API将数据导入neo4j。我知道根据this文档超时期限可以通过设置 dbms.rest.transaction.idle_timeout 属性来全局设置。 但是,在开始事务时,我们可以动态地为事务设置超时。请参阅开始交易API

2 个答案:

答案 0 :(得分:2)

创建事务时无法动态设置超时。

但是,您可以动态扩展活动事务的全局超时期限,方法是使用它向服务器发送一个空的语句列表,这将在超时期限内重新启动时钟。 See here用于文档。

答案 1 :(得分:0)

实际上,您可以使用APOC extensionapoc.cypher.runTimeboxed方法来实现。检查此链接https://neo4j.com/labs/apoc/4.1/cypher-execution/cypher-timeboxed/

您可以下载JAR file for the APOC库。然后,您应该将JAR文件放在/plugins文件夹下,然后重新启动neo4j数据库。

对于使用HTTP执行的每个密码查询,您都可以使用“时间框”表达式将其包装起来。检查以下代码。

const cql = "MATCH (n)-[e]-() RETURN n,e limit 10";
const timeout = 10000;
const q = `CALL apoc.cypher.runTimeboxed("${cql}", {}, ${timeout})`;