使用NodeJS创建预定作业(轮询)

时间:2015-11-15 11:04:51

标签: node.js cron scheduled-tasks polling

在我的NodeJS应用程序中,我需要每隔2-3秒向第三方服务发送请求。我有包含要请求的URL的对象的数据库,当响应即将到来时,我将此响应与我的对象链接。

现在它就像:

// Getting objects from DB and calling ask function
objectsFromDB.find(function(err, data){
    if(!err){         
      for (var i = 0; i < data.length; i++) {
          var object = data[i];
          // Calling ask function
          startAsking(object);                    
      }    
    }
});

// Start asking objects ...
function startAsking(object){
  var intervalId = setInterval(function(){
      console.log("Asking " + object.name);
      // ...
      // Processing and linking response with object
  }, config.INTERVAL);
 arrayOfIntervals.push(intervalId);
};

所以,现在我需要停止其中一个对象的工作。我怎样才能做到这一点 ? 我看到我可以保存intervalId但是如果这个intervalId不是与对象一起发生会发生什么呢?

我也看到很多图书馆:

但我认为所有这些图书馆的目标都是安排大量间隔的工作,而且我不知道如何阻止其中一项工作。

0 个答案:

没有答案