0

我以正常方式连接到 neo4j,我可以毫无问题地运行查询。
在测试期间,我编写了一个应该失败的查询(由于唯一性约束),查询确实按预期失败并且我捕获了异常。
问题是当我尝试执行队列中的下一个查询时,它只是挂起(比超时时间长)。
我不认为这是正常行为。

 try{
     $result = $neo->run ($query);
 }
 catch (Exception $e) {
          // handle it
 }

 // all good so far
 // now we attempt:

try{
    $result = $neo->run ($next_query);
 }
 catch (Exception $e) {
          // handle it
 }
// hangs longer than timeout

如果我从队列中删除失败的查询,一切都会完成

4

1 回答 1

0

所以似乎php-client抛出的异常中断了与neo4j的连接。
如果我将代码修改为以下,一切正常。

try{
     $result = $neo->run ($query);
 }
 catch (Exception $e) {
          // handle it
      connect_to_neo()
 }

 // all good so far

try{
    $result = $neo->run ($next_query);
 }
 catch (Exception $e) {
          // handle it
 }
 // all good, $next_query gets executed

我不认为破坏连接的异常是期望的行为。将在 github 上提出问题。

于 2017-02-08T00:19:35.060 回答