NodeJS sqlite3并发访问

时间:2016-03-08 21:52:35

标签: node.js sqlite parallel-processing

基本上我有一个数据库,其中出现的访问次数不多,但遗憾地分为两组。

首先,存在对数据库的写访问权 其次,有读访问权限。

读取访问失败,并显示数据库已锁定({ [Error: SQLITE_BUSY: database is locked] errno: 5, code: 'SQLITE_BUSY' })的消息,这是完全正常的。但是,如何让我的读取权限等到数据库关闭?

我目前的代码:

var sql = "INSERT INTO chickenmilk (userID,channelID,message) VALUES (?,?,?)"
db.run(sql, userID, channelID, bot.fixMessage(message), function(err) {
    console.log(err);
    db.close();
});

并发:

var sql = "SELECT userID, COUNT(message) as count FROM chickenmilk WHERE channelID LIKE ? GROUP BY userID";
db.all(sql, data, function(err,res) {
    if(err) {
        console.log(err);
        return "";
    }

    callback(res); // data is used here
    db.close();
});

0 个答案:

没有答案