【问题标题】:Sequelize Pool related IssueSequelize Pool 相关问题
【发布时间】:2017-07-21 00:28:52
【问题描述】:

当使用 SEAN 堆栈(Sequelize、Express、Angular、Nodejs)开发的 webapp 变得空闲并且用户在超时后注销时,sequelize/tedious 会抛出异常。

任何关于 sequelize 连接池或标准 db 连接释放方式的指针都会有所帮助。

错误是“资源当前不属于此池

使用的版本:

繁琐的版本2.0.0

续集版本4.1.0

错误:

Unhandled rejection Error: Resource not currently part of this pool
    at Pool.destroy (\node_modules\sequelize\node_modules\generic-pool\lib\Pool.js:450:35)
    at Connection.<anonymous> (\node_modules\sequelize\lib\dialects\mssql\connection-manager.js:124:25)
    at emitOne (events.js:77:13)
    at Connection.emit (events.js:169:7)
    at Connection.socketError (\node_modules\tedious\lib\connection.js:703:14)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at emitErrorNT (net.js:1257:8)
    at doNTCallback2 (node.js:441:9)
    at process._tickCallback (node.js:355:17)

【问题讨论】:

    标签: node.js sequelize.js connection-pooling


    【解决方案1】:

    我有同样的错误,但它不会导致我的应用程序崩溃。所以我添加了这部分代码来处理它:

    const unhandledRejections = new Map();
    process.on('unhandledRejection', (reason, p) => {
        unhandledRejections.set(p, reason);
    });
    process.on('rejectionHandled', (p) => {
        unhandledRejections.delete(p);
    });
    

    希望这会有所帮助...

    【讨论】:

    • 另一个观察结果是 - 我正在从笔记本电脑运行应用程序进行测试,当它与网络断开连接时,它会失去与数据库的连接,并且可能导致此资源错误。添加处理程序后,不再发生。
    猜你喜欢
    • 2018-03-08
    • 2019-05-04
    • 2021-07-25
    • 2023-03-11
    • 2017-07-23
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    相关资源
    最近更新 更多