我需要轮询完成分析(我将其分配到另一台服务器)。我使用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); }
);
}