setTimeout和node.js轮询

时间:2014-10-29 14:02:17

标签: node.js settimeout

我需要轮询完成分析(我将其分配到另一台服务器)。我使用setTimout检查每N分钟以查看响应是否为真,如果是,则发送电子邮件等。问题是setTimout不能一直工作,不知怎的,这个过程失败了继续调查分析的状态。 (有时它工作正常)

有人可以解释为什么setTimout会丢失"丢失"有时和可扩展的解决方案,以便可能需要一段时间来调查结果的成功? (几个小时)。

var that = this;
exports.doThis = function(myParms, checkEveryNMinutes) {

  myLib.getStatus(myParms, function(theStatus) {

        if(theStatus.isDone){

            //do stuff

        }else{

            setTimeout(function(){that.doThis(myParms,
                                              checkEveryNMinutes)
                                  }, checkEveryNMinutes);

        } 

    }, function(err) { console.log(err); }

  );

}

0 个答案:

没有答案