Как запустить шифрованный запрос асинхронно с neo4jclient

Я изучаю neo4j для крупномасштабного приложения для оптимизации. По сути, я загрузил график местоположений в базу данных neo4j. Вариант использования — найти кратчайший путь между двумя узлами. Я могу сделать это с помощью neo4jclient, однако мне нужно найти кратчайшие пути между несколькими узлами для каждого запроса, и я хотел использовать параллельную библиотеку задач (c#, .net) для отправки шифровальных запросов в neo4j для разных пар местоположений. «параллельно», а затем сложите все расстояния. Я не вижу «асинхронного» метода в интерфейсе GraphClient в Neo4jClient. Кто-нибудь реализовывал такие параллельные шифровальные запросы в .net или просто неразумно ожидать такого параллелизма с шифрованием?


person Danish Garg    schedule 24.09.2015    source источник


Ответы (2)


Метод async является частью Execution точек. Итак, для запроса, в котором вы возвращаете значения, вы заканчиваете:

/**/.ResultsAsync

для запроса без ожидаемого возврата:

/**/.ExecuteWithoutResultsAsync()
person Charlotte Skardon    schedule 24.09.2015
comment
Большое спасибо Крис!! Я попробую это и обновлю результаты. - person Danish Garg; 24.09.2015

Вместо

await query.ExecuteWithoutResultsAsync()
query.ExecuteWithoutResults();

вы могли бы использовать

Task.Run(() => query.ExecuteWithoutResultsAsync());
Task.Run(() => query.ExecuteWithoutResults());

потому что в этом случае не имеет значения, тот же контекст или другой. Все, что делает neo4j, — это запускает запрос.

person Darth Sonic    schedule 07.02.2020