- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我和我的团队使用 knex 和 postgres 来处理我们所有的数据库工作。有时,我们会收到以下错误:
Knex:Error Pool2 - error: too many connections for role "<rolename>"
每个请求都会出现此错误:
app[web.2]: Unhandled rejection Error: Pool is destroyed
app[web.2]: at Pool.acquire (/app/node_modules/knex/node_modules/pool2/lib/pool.js:163:12)
app[web.2]: at /app/node_modules/knex/lib/client.js:204:19
app[web.2]: at tryCatcher (/app/node_modules/knex/node_modules/bluebird/js/main/util.js:26:23)
app[web.2]: at Promise._resolveFromResolver (/app/node_modules/knex/node_modules/bluebird/js/main/promise.js:480:31)
app[web.2]: at new Promise (/app/node_modules/knex/node_modules/bluebird/js/main/promise.js:70:37)
app[web.2]: at Client.acquireConnection (/app/node_modules/knex/lib/client.js:200:12)
app[web.2]: at /app/node_modules/knex/lib/runner.js:138:49
app[web.2]: at tryCatcher (/app/node_modules/knex/node_modules/bluebird/js/main/util.js:26:23)
app[web.2]: at Function.Promise.attempt.Promise.try (/app/node_modules/knex/node_modules/bluebird/js/main/method.js:31:24)
app[web.2]: at Runner.ensureConnection (/app/node_modules/knex/lib/runner.js:137:26)
app[web.2]: at Runner.run (/app/node_modules/knex/lib/runner.js:30:31)
app[web.2]: at QueryBuilder.Target.then (/app/node_modules/knex/lib/interface.js:27:43)
app[web.2]: at QueryBuilder.tryCatcher (/app/node_modules/bookshelf/node_modules/bluebird/js/main/util.js:26:23)
app[web.2]: at doThenable (/app/node_modules/bookshelf/node_modules/bluebird/js/main/thenables.js:52:38)
app[web.2]: at tryConvertToPromise (/app/node_modules/bookshelf/node_modules/bluebird/js/main/thenables.js:30:20)
app[web.2]: at Promise._resolveCallback (/app/node_modules/bookshelf/node_modules/bluebird/js/main/promise.js:442:24)
app[web.2]: at Promise._settlePromiseFromHandler (/app/node_modules/bookshelf/node_modules/bluebird/js/main/promise.js:515:17)
app[web.2]: at Promise._settlePromiseAt (/app/node_modules/bookshelf/node_modules/bluebird/js/main/promise.js:581:18)
app[web.2]: at Promise._settlePromises (/app/node_modules/bookshelf/node_modules/bluebird/js/main/promise.js:697:14)
app[web.2]: at Async._drainQueue (/app/node_modules/bookshelf/node_modules/bluebird/js/main/async.js:123:16)
app[web.2]: at Async._drainQueues (/app/node_modules/bookshelf/node_modules/bluebird/js/main/async.js:133:10)
app[web.2]: at Immediate.Async.drainQueues [as _onImmediate] (/app/node_modules/bookshelf/node_modules/bluebird/js/main/async.js:15:14)
app[web.2]: at processImmediate [as _immediateCallback] (timers.js:368:17)
我们的池设置是:
pool: {
min: 2,
max: 10
}
我们尝试将其设置为 min:0
但这没有帮助。至少在本地。
问题 1:我们能否跟踪事件连接数并确保没有任何“孤立”连接?如果是,怎么办?
问题 2:是 Pool is destroyed
发生错误是因为我们无法与数据库建立连接,因此 Knex 假定池不存在?
问题 3:我们能否以某种方式将 API 设置为在无法建立连接并等待打开连接时进入“待机模式”?
问题 4:对于任何类型的生产应用程序,最大设置 10 是否太低?我们仍处于测试阶段,但我们的流量很快就会大幅增加。
我们甚至增加了我们的 pool.max
到 15,我们仍然有这个问题。
最佳答案
问题出在数据库连接上。您可以检查您的数据库相关配置,例如用户名和密码。
关于node.js - Nodejs + Knex + Postgres : Unhandled rejection Error: Pool is destroyed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33171787/
我有两个类(class): parent 和 child child : belongs_to :parent 和 家长 has_many :children, :dependent => :dest
我有这个模型 class XmlImport ["text/xml"] end :event_import_records 条目正在被销毁。但是 :events 不是。 has_many throu
我定义了以下简单的管道: image: name: hashicorp/terraform:light entrypoint: - '/usr/bin/env' - 'PATH
我定义了以下简单的管道: image: name: hashicorp/terraform:light entrypoint: - '/usr/bin/env' - 'PATH
在我们的应用程序中,我们覆盖了 ActiveRecord destroy 方法,以便我们的记录不会被删除(因此用户可以取消删除)。像这样: def destroy self.is_deleted
我有一个笔记模型,具有以下关联 注意.rb has_many :note_categories, :dependent => :destroy has_many :categories, :throu
我是一名 Python 初学者。尝试制作一个新按钮来关闭窗口。我收到错误消息: Exception in Tkinter callback Traceback (most recent call la
我在我的应用程序中添加了评论功能,到目前为止一切正常,直到出现此错误。我所做的是添加了删除评论功能。当我启动服务器时一切正常,但在我单击“删除”按钮后问题出现了。 错误信息 undefined loc
Rails,def destroy,没有响应 destroy.js.erb 这是我的方法: # DELETE /Groups/1 # DELETE /Groups/1.xml def de
假设我有一个 MyClass 对象的集合 MyCollection。 Set MyCollection = Nothing 是否调用每个包含的对象的析构函数,或者我应该单独设置每个对象 = Nothi
我正在尝试使用 Node.js、Express 和 Mongodb 构建 REST API。我正在使用 mongodb npm 包连接到数据库,下面是我的 sever.js 文件代码 var expr
我有一个小问题,我有以下两个模型: class CriticalProcess :destroy has_many :roles, :through => :authorizations a
我正在使用 ng2-toastr 并收到以下错误 https://www.npmjs.com/package/ng2-toastr Attempt to use a destroyed view: d
基本信息: 系统: # cat /proc/version Linux version 3.10.0-514.2.2.el7.x86_64 (builder@kbuilder.dev.centos.o
一 点睛 destroy 用于销毁 ThreadGroup,该方法只是针对一个没有任何 active 线程的 group 进行一次 destroy 标记,调用该方法的直接结果是在父 group 中将自
我开始注意到 Scope::Guard 的一些奇怪之处。 . 如果我取消定义 $guard变量作为 sub 中的最后一个语句,守卫的 sub 得到 比我预期的要晚打电话。 如果我不取消它,或者如果我做
我正在构建一个提供打开和关闭它的服务的模式。该模式有一个控制关闭按钮的小 Controller ,以及进入模式内容的模板的 $compile。 那个模板就是一个组件,当然,那个组件有一个 Contro
一直在文件馆和网上寻找答案,但没有真正找到答案,只是零零碎碎。似乎有很多建议的帖子,但没有一个有答案。 我有一个使用范围的复杂指令:true。它实际上是我正在尝试为其编写清理代码的 ng-grid 最
给定以下 Delphi 代码,Foo 在 FormClose 上是 Free,但 TFoo.Destroy 是没有被调用 - 因此 Bar 没有被 Free'd,导致内存泄漏? 我是否在这里错过了一些
https://docs.angularjs.org/guide/directive By listening to this event, you can remove event listener
我是一名优秀的程序员,十分优秀!