我使用繁琐的驱动程序从 MS SQL SELECT 查询接收输入。
我已将监听器附加到阅读器的“row”事件:
request.on('row', function(columns) {
insert_row_other_db(columns);
});
我正在 insert_row_other_db 函数中将结果写入另一个数据库。
但是行到达的速度比写入的速度快得多,而且我只想打开一个连接。什么是去异步
写入其他数据库的好方法?我想逐行写入。
最佳答案
假设您能够在 insert_row_other_db
完成时收到回调,则可以使用 Async库来创建一个可用于安排插入的队列。队列具有并发设置,允许您限制可以同时运行的任务数量。
var async = require("async");
var insertQueue = async.queue(function (columns, callback) {
insert_row_other_db(columns, callback);
}, 1);
request.on("row", function (columns) {
insertQueue.push(columns);
});
关于node.js - 如何将 Node.js 中到达速度过快的事件输入一一写入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857822/