什么时候用node-sqlite3closures数据库并表示?
我的问题是找出何时closures从expressjs后端数据库连接到sqlite数据库。
我基本上想要实现的是一个数据库连接,在整个服务器正常运行期间打开,并在服务器closures时closures。
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();
我看了一下这些威胁:
堆栈溢出:process.on('exit',callback)
Github的问题:应用程序没有app.close()
但build议的解决scheme不会为我工作,如果我用ctrl+c
杀死我的快递服务器。
那么,如何处理服务器closures时打开的数据库连接将是一个“最佳实践”?
SIGINT
是你正在寻找的信号; 大多数terminal在Ctrl+C
上发送SIGINT
。
你可以尝试这样的事情 –
process.on('SIGINT', () => { db.close(); server.close(); });