0

我有一个接受来自网页的请求的 node.js 服务器。在收到“开始”请求后,我希望能够生成一个计时器,该计时器每 n 秒无休止地在后台执行一项任务。这是可行的吗?什么是一个很好的例子?一个简单的伪代码如下:

app.get("myindependenttasks/starttask/:userid"){
   //start a simple timer to handle to userid
   //continue to run the timers endlessly while 
   //while this call returns a "Task running" status
   //to the user.
   //Other users should be able to run their own tasks.
}

如果用户请求的数量约为 1000 个正在运行的任务,是否有任何缺点。

4

1 回答 1

2

您可以setInterval为此使用(http://nodejs.org/api/timers.html),但我会犹豫是否要为其中的 1000 个这样做。

相反,您应该运行一个setInterval,并在此任务中为所有连接的用户运行任务。

因此,当用户点击“myindependenttasks/starttask/:userid”时,它会被添加到要处理的用户列表中,并且在您的定期任务中,您会一一浏览该列表。

于 2013-03-01T20:19:24.760 回答