0

Web ページからのリクエストを受け入れる node.js サーバーがあります。「START」リクエストを受け取ったら、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 ) に使用できますが、これらの数千に対してこれを行うことを躊躇します。

代わりに、1 つsetIntervalの を実行し、このタスクで接続されているすべてのユーザーに対してタスクを実行する必要があります。

したがって、ユーザーが「myindependenttasks/starttask/:userid」を押すと、処理するユーザーのリストに追加され、定期的なタスクでそのリストを 1 つずつ調べます。

于 2013-03-01T20:19:24.760 に答える