Neo4j, графическое ПО: после перехвата исключения другой запрос не будет выполнен.

Я подключаюсь к 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

если я удаляю неудачный запрос из очереди, все завершается

0

Решение

Похоже, что исключение, сгенерированное php-клиентом, разрывает соединение с 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.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]