neo4j 连接超时

在过去的几周中,我一直在花一些业余时间来创建一个应用程序,该应用程序从Open Roads数据生成运行路线-当然,已转换并导入了Neo4j!

我创建了一个用户定义的过程,该过程结合了几个最短路径查询,但是如果它们花费的时间太长,我想退出所有这些最短路径搜索。 我的代码没有超时如下所示:

StandardExpander orderedExpander = new OrderedByTypeExpander().add( RelationshipType.withName( "CONNECTS" ), Direction.BOTH );PathFinder<Path> shortestPathFinder = GraphAlgoFactory.shortestPath( expander, 250 );...

在很多地方,我们都可以检查经过的时间,但是对我来说, 扩展器中expand方法似乎很明显。 我编写了自己的Expander类,如下所示:

public class TimeConstrainedExpander implements PathExpander
{private final StandardExpander expander;private final long startTime;private final Clock clock;private int pathsExpanded = 0;private long timeLimitInMillis;public TimeConstrainedExpander( StandardExpander expander, Clock clock, long timeLimitInMillis ){this.expander = expander;this.clock = clock;this.startTime = clock.instant().toEpochMilli();this.timeLimitInMillis = timeLimitInMillis;}@Overridepublic Iterable<Relationship> expand( Path path, BranchState state ){long timeSoFar = clock.instant().toEpochMilli() - startTime;if ( timeSoFar > timeLimitInMillis ){return Collections.emptyList();}return expander.expand( path, state );}@Overridepublic PathExpander reverse(){return expander.reverse();}
}

现在需要更新较早版本的代码片段以使用我们的新类,这不太麻烦:

StandardExpander orderedExpander = new OrderedByTypeExpander().add( RelationshipType.withName( "CONNECTS" ), Direction.BOTH );TimeConstrainedExpander expander = new TimeConstrainedExpander(orderedExpander, Clock.systemUTC(), 200);PathFinder<Path> shortestPathFinder = GraphAlgoFactory.shortestPath( expander, 250 );
...

我不确定这是否是实现我想要的最佳方法,但是在其他几种方法失败之后,至少这种方法确实有效!

翻译自: https://www.javacodegeeks.com/2017/11/neo4j-traversal-query-timeout.html

neo4j 连接超时

neo4j 连接超时_Neo4j:遍历查询超时相关推荐

  1. mysql查询超时解决方案_MySQL查询超时问题的解决

    MySQL查询超时问题是什么原因呢?应该如何解决呢?下面就为您详细介绍MySQL查询超时问题的解决方法,希望可以帮助到您. mysql>show variables like '%timeout ...

  2. Neo4j:遍历查询超时

    在过去的几周中,我一直在花一些业余时间来创建一个应用程序,该应用程序从Open Roads数据生成运行路线-当然已转换并导入到Neo4j中! 我创建了一个用户定义的过程,该过程结合了几个最短路径查询, ...

  3. c mysql 查询超时设置_MySQL查询超时的设置方法

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 这里顺带解释一下什么是non-interactive connection Non-Interactive Command ...

  4. mysql 超时_为MySQL设置查询超时

    昨天有人在群里问, MySQL是否可以设置读写超时(非连接超时), 如果可以就可以避免一条SQL执行过慢, 导致PHP超时错误. 这个, 其实可以有. 只不过稍微要麻烦点. 首先, 在libmysql ...

  5. sql 查询超时已过期_监视来自SQL Server代理作业的查询超时过期消息

    sql 查询超时已过期 SQL Server provides you with a good solution to automate a lot of your administrative ta ...

  6. phoenix查询超时

    由于数据量增大,phoenix查询超时 Error: Operation timed out. (state=TIM01,code=6000) java.sql.SQLTimeoutException ...

  7. mysql为何500w拆表_【mysql】MySQL 单表500W+数据,查询超时,如何优化呢?

    1.问题描述: MySQL 数据库,单表 `im_data_record`,查询超时(30s) 表结构如下图: 表索引如下图: 查询语句如下: SELECT `record_global_id`, ` ...

  8. redis 用scan 代替keys 解决百万数据模糊查询超时问题

    redis 用scan 代替keys 解决百万数据模糊查询超时问题 参考文章: (1)redis 用scan 代替keys 解决百万数据模糊查询超时问题 (2)https://www.cnblogs. ...

  9. oracle大数据量查询超时排查

    首先声明,为实际项目中用到技术,绝非水文,手打不易,禁止抄袭!!!!!! 项目背景,做的是银行项目,ods实时查询接口,java开发接口,数据库为Oracle 19c.最近生产运维反馈,手机银行查询个 ...

最新文章

  1. DGL-LifeSci:面向化学和生物领域的 GNN 算法库
  2. Spring中的BeanPostProcessor接口
  3. probability space 概率空间,Filtration,σ-algebras
  4. ubuntu shell简介
  5. 数据揭秘:低学历成功逆袭概率有多少?感谢父母送我读书!
  6. java nio 强制关闭_Java NIO服务器:远程主机强迫关闭了一个现有的连接
  7. 一加7T Pro渲染图曝光:后置相机出乎意料
  8. 通过命令行编译器来编译运行程序
  9. post postman 传递数组对象_okhttp传递数组参数
  10. 【最新消息】阿里宣布无限期延迟复工,字节跳动、腾讯......等企业也再次延迟!...
  11. 【软件开发规范七】《Android UI设计规范》
  12. HealthKit框架参考(转)
  13. python中re模块的group()和groups()
  14. 五险一金及个税计算器
  15. python:maya 一个人性化的时间处理库
  16. 美国对华贸易逆差及其为何如此之高
  17. 【物联网(IoT)开发】Arduino 简介
  18. 解决 input 输入框在中文输入法下的 bug
  19. Unity InputField输入框调用win10平板虚拟键盘
  20. 有软件负载均衡,也有硬件负载均衡,选择哪个?

热门文章

  1. P7116-[NOIP2020]微信步数【数学】
  2. POJ3585-Accumulation Degree【树形dp,二次扫描与换根法】
  3. codeforces855 C. Helga Hufflepuff‘s Cup(树形dp)
  4. 【bfs】Replication G(P7151)
  5. 【斜率优化】玩具装箱(luogu 3195)
  6. Tomcat 服务自动启动
  7. Spring入门(一)之简介
  8. python爬虫进阶(初始)
  9. C++描述杭电OJ 2009.求数列的和 ||
  10. 关于人脸和指纹识别共同交流方案