何时用node-sqlite3关闭数据库并表达?

Lin*_*510 2 sqlite node.js express node-sqlite3

我的问题是弄清楚何时关闭从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();
Run Code Online (Sandbox Code Playgroud)

我看了看这些威胁:

堆栈溢出:process.on('exit',callback)

Github问题:App没有app.close()

但是如果我用快速服务器杀了我,建议的解决方案对我不起作用ctrl+c.

那么关于如何在服务器关闭时处理开放数据库连接的"最佳实践"是什么?

GPX*_*GPX 6

SIGINT是你正在寻找的信号; 大多数终端发送SIGINT的Ctrl+C.

你可以试试这样的东西 -

process.on('SIGINT', () => {
    db.close();
    server.close();
});
Run Code Online (Sandbox Code Playgroud)