Я подключаюсь к 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
если я удаляю неудачный запрос из очереди, все завершается
Похоже, что исключение, сгенерированное 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.
Других решений пока нет …