我们将Knex与通用池一起用作我们的Oracle 11.2数据库的查询生成器和池管理器。
我们面临的问题是,有时Knex / generic-pool开始累积连接并且无法回收它们。
我试图将一些参数传递给Knex / Generic Pool以使它们在某些点之后终止连接,但看起来它没有用完。
Packges版本:
Knex配置:
{
client: 'oracledb',
connection: {
user: DB_USER,
password: DB_PASSWORD,
host: `${DB_HOST}:${DB_PORT}`,
database: DB_NAME
},
debug: true,
fetchAsString: ['number', 'clob'],
acquireConnectionTimeout: 843600000,
pool: {
min: 2,
max: 150,
acquireTimeoutMillis: 100000,
evictionRunIntervalMillis: 120000,
maxWaitingClients: 100,
idleTimeoutMillis: 100000
}
}
答案 0 :(得分:0)
尝试knex 0.14.2修复了一些与游泳池相关的问题。在创建/提交/回滚事务时,还尝试添加一些调试信息。打开的事务将从池中获取连接,并且bot会释放它直到事务结束。您可以使用DEBUG = knex:*环境变量集获取有关运行应用程序的池和transacions的信息。