elasticsearch,lambda,queue,Node.js,Asynchronous,elasticsearch,Lambda,Queue" /> elasticsearch,lambda,queue,Node.js,Asynchronous,elasticsearch,Lambda,Queue" />

node.js lambda函数将记录从sql迁移到elasticsearch,使用队列限制异步调用

node.js lambda函数将记录从sql迁移到elasticsearch,使用队列限制异步调用,node.js,asynchronous,elasticsearch,lambda,queue,Node.js,Asynchronous,elasticsearch,Lambda,Queue,我正在尝试在node.js中实现下一个功能:我必须将1.200.000条记录从sql迁移到elasticsearch,我将分批分离50000条记录,一旦我解决了5分钟超时问题,我将在aws lambda中遭遇内存不足问题。我发现这个async.queue限制了Node.js中的异步调用,但我一定是做错了什么,因为它没有按预期工作。我做错了什么?如何限制对importSQLData方法的异步调用 谢谢 这是我的密码: exports.importData = function (batchNum,

我正在尝试在node.js中实现下一个功能:我必须将1.200.000条记录从sql迁移到elasticsearch,我将分批分离50000条记录,一旦我解决了5分钟超时问题,我将在aws lambda中遭遇内存不足问题。我发现这个async.queue限制了Node.js中的异步调用,但我一定是做错了什么,因为它没有按预期工作。我做错了什么?如何限制对importSQLData方法的异步调用

谢谢

这是我的密码:

exports.importData = function (batchNum, topNum, startNum) {

var q = async.queue(function (task, callback) {
    console.log('hello ' + task.name);
    callback();
}, 2);

q.drain = function () {
    console.log('all items have been processed');
}

for (var y = 1; y <= batchNum; y++) {
    q.push(importSQLData(topNum, startNum), callback); // I don't know if this is ok
    if (y > 1) startNum = startNum + topNum;

    importSQLData(topNum, startNum)
        .then(function (importRes) {
            //console.log(importRes);
            console.log("Import successful! Execution Time Time(ms): " + importRes.took);
            console.log("memory usage:", process.memoryUsage());
            //callback(null, "done");
        }).catch(function (importErr) {
            let error = {
                StatusCode: importErr.status,
                Response: importErr.response,
                Message: importErr.message
            };
            let errorMsg = new Error(error.Message);
            //context.fail(errorMsg);
            callback(errorMsg);
        });
    }
}
exports.importData=函数(batchNum、topNum、startNum){
var q=async.queue(函数(任务、回调){
log('hello'+task.name);
回调();
}, 2);
q、 排水=功能(){
console.log('所有项目都已处理');
}

对于(var y=1;y),我阅读了异步文档,但没有看到如何在这里实现它。我阅读了异步文档,但没有看到如何在这里实现它。