1

我正在使用 EC2 API 在 EC2 上请求 SPOT 实例 - 下面的代码在 node.js 上运行良好。问题是,如果价格太低,EC2 请求将保持活动状态,如果价格低于设定的价格,则会被填充。我知道我可以编写自己的逻辑来查找未填充的请求并杀死它们,但想知道是否有一种干净的方法可以将其作为初始请求的一部分。

var SPOTRequest = { SpotPrice : price, InstanceCount : NumToLaunch, Type : "one-time", LaunchSpecification :sClient }

ec2.client.requestSpotInstances(SPOTRequest,function (err, data) {
      if (err) {
          returnPackage.status = "ERROR:"+err;
          res.write(JSON.stringify(returnPackage)); 
          res.end();  
          console.log(err);

      }          
      else {
            returnPackage.status = "SUCCESS";
            res.write(JSON.stringify(returnPackage));
            res.end();
            console.log(data);
        }

});

}

4

1 回答 1

2

如果未在所需的时间范围内填写,您可以使用requestSpotInstances()ValidUntil方法中的参数让您的请求立即自动过期:

ValidUntil -(日期)

请求的结束日期。

如果这是一次性请求,则该请求将保持活动状态,直到所有实例启动、请求被取消或到达此日期。如果请求是持久的,它将保持活动状态,直到它被取消或达到此日期和时间。

于 2013-04-17T19:53:05.473 回答