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”文本。
什么是导致超时错误,为什么不是我的查询工作呢?