Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js grapheneDB Neo4j连接上的H12请求超时_Node.js_Heroku_Neo4j_Graphenedb - Fatal编程技术网

Node.js grapheneDB Neo4j连接上的H12请求超时

Node.js grapheneDB Neo4j连接上的H12请求超时,node.js,heroku,neo4j,graphenedb,Node.js,Heroku,Neo4j,Graphenedb,不用说,我对Heroku和GrapheneDB都是新手。我有一个使用Neo4j的Nodejs应用程序,在我的本地机器上运行良好。我将它移动到Heroku,并使用GrapheneDB将neo4j DB连接到应用程序。当我在Heroku上运行应用程序时,当我尝试登录需要访问数据库时,会收到H12请求超时。我的代码中唯一的更改是GrapheneDB建议的以下更改: var graphenedbURL = process.env.GRAPHENEDB_BOLT_URL; var graphenedbUs

不用说,我对Heroku和GrapheneDB都是新手。我有一个使用Neo4j的Nodejs应用程序,在我的本地机器上运行良好。我将它移动到Heroku,并使用GrapheneDB将neo4j DB连接到应用程序。当我在Heroku上运行应用程序时,当我尝试登录需要访问数据库时,会收到H12请求超时。我的代码中唯一的更改是GrapheneDB建议的以下更改:

var graphenedbURL = process.env.GRAPHENEDB_BOLT_URL;
var graphenedbUser = process.env.GRAPHENEDB_BOLT_USER;
var graphenedbPass = process.env.GRAPHENEDB_BOLT_PASSWORD;

var driver = neo4j.driver(graphenedbURL, neo4j.auth.basic(graphenedbUser, graphenedbPass));

//var driver = neo4j.driver("bolt://localhost", neo4j.auth.basic("neo4j", "xxxxx"));
我添加了前四行,注释掉了第五行。 应用程序的非DB功能工作正常,但任何连接到DB的尝试都会导致H12。我将Javascript与Neo4j 3.0.8和papertail一起用于日志记录。以下是我尝试注册用户时的纸质日志:

Feb 09 18:53:44 puppydog-dev-2017 heroku/router:  at=error code=H12 desc="Request timeout" method=POST path="/users/registerowner" host=puppydog-dev-2017.herokuapp.com request_id=867c7bc5-2d61-4c82-8b42-87732b21d449 fwd="104.244.227.83" dyno=web.1 connect=1ms service=30000ms status=503 bytes=0 

有人能解释一下这里发生了什么吗?

我发现H12是由于GrapheneDb平台的重置导致DB关闭的结果。由于数据库不可用,因此对数据库的所有后续调用都会导致H12。导致DB关闭的原始问题仍然未知。

我是GrapheneDB的Alberto。用于连接GrapheneDB数据库的代码看起来正确。乍一看,与数据库的连接似乎不是问题。当您的应用程序完成请求所需时间超过30秒时,Heroku会发出H12超时错误(更多信息:)。你能在
/users/registerowner
中分享你正在做什么吗?顺便说一句,您遇到了一些问题。通过heroku支持频道与我们联系可能更方便。@albertoperdomo/users/registerowner是一篇将节点添加到数据库的帖子……只是通过电子邮件进行匹配,如果找不到,则创建唯一的。您的数据集有多大?这是什么计划?另外,您是否打开了支持票证?这是一个在免费计划上运行的节点不到1000个的开发环境,是的,我打开了支持票证……还没有。问题显然不是H12,而是第一次读取尝试时出现的EconReset错误,该错误关闭了数据库,导致随后的数据库访问尝试中出现H12。您好,Michael,很抱歉,您仍然遇到问题。我知道我们的工程团队正在调查这个问题。我希望他们能尽快找到解决方案。好吧,Heroku怀疑断开连接/DB关闭的原因是他们配置分配URL和凭据的环境变量时出现了错误……Heroku试图解决问题已经7天了……仍在等待……当我得到答案时会更新。