我使用繁琐的驱动程序接收来自 MS SQL SELECT 查询的输入。
我已将一个侦听器附加到阅读器的“行”事件:
request.on('row', function(columns) {
insert_row_other_db(columns);
});
我正在将结果写入 insert_row_other_db 函数中的另一个数据库。
但是行到达的速度比它们写的快得多,我只想打开一个连接。de-asyncronyze写入其他数据库的好方法是什么?我想一个接一个地写行。
我使用繁琐的驱动程序接收来自 MS SQL SELECT 查询的输入。
我已将一个侦听器附加到阅读器的“行”事件:
request.on('row', function(columns) {
insert_row_other_db(columns);
});
我正在将结果写入 insert_row_other_db 函数中的另一个数据库。
但是行到达的速度比它们写的快得多,我只想打开一个连接。de-asyncronyze写入其他数据库的好方法是什么?我想一个接一个地写行。
假设您能够在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);
});