什么时候用 node-sqlite3 和 express 关闭数据库?
When to close Database with node-sqlite3 and express?
我的问题是弄清楚何时关闭从 expressjs 后端到 sqlite 数据库的数据库连接。
我基本上想要实现的是一个数据库连接,它在整个服务器正常运行期间打开,并在服务器关闭时关闭。
var express = require('express')
var app = express()
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(data/Test.db);
//use db as needed
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
});
//on shutdown db.close();
我查看了这些威胁:
Stack overflow: process.on('exit', callback)
Github issue: App has no app.close()
但是如果我用 ctrl+c
杀死我的快速服务器,建议的解决方案对我不起作用。
关于如何在服务器关闭时处理打开的数据库连接的 'best practice' 是什么?
SIGINT
就是你要找的信号;大多数终端在 Ctrl+C
.
上发送 SIGINT
你可以试试这样的 -
process.on('SIGINT', () => {
db.close();
server.close();
});
我的问题是弄清楚何时关闭从 expressjs 后端到 sqlite 数据库的数据库连接。
我基本上想要实现的是一个数据库连接,它在整个服务器正常运行期间打开,并在服务器关闭时关闭。
var express = require('express')
var app = express()
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(data/Test.db);
//use db as needed
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
});
//on shutdown db.close();
我查看了这些威胁:
Stack overflow: process.on('exit', callback)
Github issue: App has no app.close()
但是如果我用 ctrl+c
杀死我的快速服务器,建议的解决方案对我不起作用。
关于如何在服务器关闭时处理打开的数据库连接的 'best practice' 是什么?
SIGINT
就是你要找的信号;大多数终端在 Ctrl+C
.
SIGINT
你可以试试这样的 -
process.on('SIGINT', () => {
db.close();
server.close();
});