小编nov*_*ova的帖子

如何使用 async.parallelLimit 最大化(并行)运行进程的数量?

是否可以使用 async.parallelLimit 设置并行运行进程的限制?我使用以下非常简单的代码来测试它是如何工作的。

var async = require("async");
var i = 0;

function write() {
    i++;
    console.log("Done", i);
}

async.parallelLimit([
    function(callback) {
        write();
        callback();
    }
], 10, function() {
    console.log("finish");
});
Run Code Online (Sandbox Code Playgroud)

当然,我得到的一切都是这样的:

Done 1
finish
Run Code Online (Sandbox Code Playgroud)

就我而言,我有一个经常被调用的函数,但我只希望它同时运行 5 次。其他呼叫应排队。(是的,我知道 async.queue 但是,这不是我在这个问题中想要的)。

所以现在的问题是,这可以通过 async.parallelLimit 实现吗?

//编辑:

我实际上有类似的东西:

for(var i = 0; i < somthing.length; i++) { //i > 100  for example
    write();
}
Run Code Online (Sandbox Code Playgroud)

由于 Node.js 的非同步性,这可能会同时运行 100 次。但是在这种情况下,shell 如何限制并行运行的进程呢?

parallel-processing asynchronous node.js

6
推荐指数
1
解决办法
8713
查看次数

如何通过ec2 api获取InstanceID?

我需要一个函数,它告诉我instanceID,我在这里搜索一个函数,但你总是需要id ...是的,这就是问题所在.

我不允许使用控制台,需要通过脚本找到它.

我看到了AWS.MetadataService 文档,但我无法处理它.我只能看到单件,但我不知道如何正确匹配它们,以及我想要的东西.目前我有这个

var meta  = new AWS.MetadataService();

meta.request("http://169.254.169.254/latest/meta-data/", function(err, data){
    console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

但是这不起作用......路径参数需要什么?

amazon-ec2 amazon-web-services node.js instanceid

3
推荐指数
1
解决办法
3687
查看次数

aws ec2 getaddrinfo ENOTFOUND 错误代码

我的目标是在我的脚本启动时获取 instanceId。(因为我想将我的网络服务器作为后端与 aws elb 连接。当我对 id 进行硬编码时,这甚至可以工作)所以现在我尝试编写一个给我 id 的函数。

所以我知道我需要 AWS.metadataService 但我不知道如何使用它。我发现这个文档(metaDataService) 是一个命令行工具。我想我需要像这样组合它:

var meta  = new AWS.MetadataService();

meta.request("http://169.254.169.254/latest/meta-data/", function(err, data){
    if(err){
        console.log(err);
    }
    console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

但它会产生这个错误:

{ [Error: getaddrinfo ENOTFOUND 169.254.169.254http 169.254.169.254http:80]
  code: 'ENOTFOUND',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: '169.254.169.254http',
  host: '169.254.169.254http',
  port: 80 }
Run Code Online (Sandbox Code Playgroud)

任何想法可以解决这个问题?或者至少是什么导致了这个错误。

error-code amazon-s3 amazon-ec2 amazon-web-services node.js

3
推荐指数
1
解决办法
4343
查看次数