首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行数据库查询的所有请求的持久性H12超时错误

运行数据库查询的所有请求的持久性H12超时错误
EN

Stack Overflow用户
提问于 2021-02-09 10:55:56
回答 1查看 203关注 0票数 0

我有一个使用Heroku部署的Node.js应用程序,以及一个链接到它的Heroku Postgres数据库。该应用程序还使用express和EJS来渲染页面。

我最近通过拉取请求将更新部署到GitHub上的主分支(主分支自动部署)。在我这样做之后,我的应用程序开始为似乎所有运行数据库查询的请求提供H12超时错误。如果我加载一个不涉及DB查询的页面,该页面将加载得很好。应用控制台中没有记录其他错误,只有请求超时。客户端浏览器控制台中也没有记录错误。

在此之后,我使用恢复拉取请求通过GitHub恢复了部署。因此,现在GitHub中的主分支,目前也部署到实时应用程序中,具有与更新前相同的代码。但是,对于所有使用DB查询的请求,我仍然收到H12错误,尽管代码与以前一切正常时的代码完全相同。我试着重启所有的dynos,但都没有帮助。

如果我转到Heroku中的Activity选项卡,并在更新之前恢复到旧的构建版本,那么站点就可以正常工作,数据库查询也会正常处理。但是,一旦我用原始代码重新部署了主分支,我就又回到了H12错误。

更令人困惑的是,我可以使用旧版本或更新版本在本地运行应用程序,一切都很好。

我没有更改Heroku中的任何环境变量,也没有更改数据库登录信息。我是目前唯一正在访问实时应用程序的人,因此请求超时不是由其他站点流量引起的。我甚至使用New Relic来查看站点事务,并且我已经确认我是唯一访问该站点的人。

对于这里可能存在的问题,有人有什么想法吗?我完全不知所措。

可以通过here访问完整的存储库。

EN

回答 1

Stack Overflow用户

发布于 2021-02-10 12:27:20

在过去的几天里,Heroku似乎已经将他们的默认node.js部署版本12.20.1改为14.15.4

通过在package.json文件中添加以下"engines"部分,显式应该可以解决您的问题:

代码语言:javascript
运行
复制
{
  "name": "Contest-judging-tool",
  "version": "0.1.0",
  "description": "description": "An open source tool used to judge official contests on Khan Academy",
  "main": "index.js",
  "engines": {
    "node": "12.20.1"
  },
  "scripts": ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66112339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档