node.js – 尝试使用Parse Server查询时,Heroku服务器超时?

我正在尝试为Parse服务器设置自己的自定义密码重置,因为当时没有该function。

我已经按照堆栈溢出本教程 – > 如何使用Heroku设置一个分析服务器

我也读过Github上的这个问题 – > 实现密码重置的提示?

以下是我在Github上发表的一篇指南:

用于处理密码重置提交的快速路由或云端function,用于查询与用户名/电子邮件匹配的用户。 生成一次性随机代码并将其保存在用户的某个位置…使用某个邮件提供商,通过链接向用户发送电子邮件。

一个处理链接的快速路由,它将提供的随机代码和search用户进行validation,然后向用户显示提供新密码的能力…使用主密钥覆盖密码并保存用户。

我设法完成了第一段,通过链接向用户发送电子邮件。 现在我正在尝试设置一个处理链接的快速路由,并为用户查询,但是我的分析查询似乎没有工作,而且heroku保持超时。

这是我的index.js (parsing服务器附带的默认类)中的代码,用于设置一个从链接中获取用户name的快速路由,并执行一个查询来获取用户,然后发送username

*注意我知道得到一个用户的name ,然后查询是不可扩展的,它只是仅用于testing目的。

 //Testing web routes app.get('/route', function(req, res) { var query = new Parse.Query("_User"); query.equalTo("name", req.param("id")); query.get({ success: function(user) { res.status(200).send(user.get("username")); }, error: function(error) { res.status(200).send("error"); } }); }); 

这是我点击的链接:

在这里输入图像描述

然后发生什么,我不明白的是页面不断加载,然后约30秒后Heroku超时,并在网页上显示此错误:

在这里输入图像描述

然后当我检查我的日志在heroku上:

在这里输入图像描述

我注意到这个错误:

at=error code=H12 desc="Request timeout" method=GET path="/route?id=John%20Smith"

我不明白的部分是,即使有我的分析查询错误,它应该只是发送错误,因为error handling程序和这行代码: res.status(200).send("error");

我也知道,networking路由本身工作,因为我已经试过这段代码:

 //Testing web routes app.get('/route', function(req, res) { res.status(200).send("Hello world"); }); 

网站收到“Hello world”文本。

什么是导致超时错误,为什么不是我的查询工作呢?