2016-01-29 39 views
0

我有一个简单的lambda函数来检查实例状态,但超时。我已将超时设置为2分钟。该角色拥有EC2的所有权限。ec2 waitfor超时2分钟后

ec2.waitFor('instanceRunning', {InstanceIds: ['someinstanceid'], DryRun:true}, function(err, data) { 
     if (err) 
     { 
      console.log(err); 
      context.fail(err); 
     } 
     else 
     { 
      console.log(data); 
      context.succeed(data); 
     } 
    }); 
+0

声明:“我已将超时设置为2分钟”以及“2分钟后超时”听起来像这样表现得如预期。究竟是什么问题?你期望以不同的方式发生什么? –

+0

我期待它完成waitFor调用并返回值而不是超时。 – Asdfg

+0

然后您可能需要等待超过2分钟。 –

回答

0

为此来到这里的人骑在谷歌:

这是可以配置的waitFor这样的行为:

let params = { 
    InstanceIds: ["i-1234567890"], 
    //Waiter configuration 
    $waiter: { 
     maxAttempts : 1000, 
     delay: 10 
    } 
}; 

EC2.waitFor("instanceRunning", params, function(error, data){ 
    /***/ 
}.bind(this)); 

这里我设置检查延时10秒,最多1000次尝试,就像166分钟。

注意,所有maxAttempts需要失败,所以你知道,实际上实例未能启动,所以你可能要小心使用此。