NodeJS应用程序有很多超时

时间:2016-02-18 07:14:10

标签: node.js settimeout

我创建的应用程序涉及运行一些延迟的任务,如下所示:

app.get('/doit', function(req, res) {
  var timeout = 1000*60*60*8; // timeout between 1 hour and several days 
  var task=setTimeout(function(){
      console.log('doing delayed task...');
  },timeout);  
  res.render('index.ejs');
});

问题是:如果有很多这样的任务会影响绩效吗? (几千甚至更多)

有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

nodejs是基于事件的,因此您不必担心它。

答案 1 :(得分:0)

它不太可能导致任何重大性能问题,除非这些任务的数量确实很高,但无论如何都会出现性能问题。更好地解决问题取决于你想要实现的目标。如果您能提供一些细节,将会有所帮助。

如果您想定期运行任务,最好使用cron 如果你只是在等待某个事件发生,那么我建议你使用node events。无论如何,仍然有很多东西,其中setTimeout仍然是最好的解决方案,在这种情况下,请继续使用它。