2011-09-17 9 views
0

私のサイトをクリックした人に基づいて分析データを記録しています。人が何かをクリックすると、ノードアプリケーションにajaxコールを介してコールが送信されますが、クリックしたものが外部リンクである場合、元のリクエストはサイトを離れるのでキャンセルされます。クライアントが切断した後でもノードが要求を処理する良い方法はありますか?ユーザーがブラウザを閉じた後もNode.jsを実行し続けることができますか?

答えて

3

実行中のプロセスが応答に物事を記述する必要はありません場合、それは間違いなく問題ではないだろう。
それでも、おそらくあなたが

  1. ユーザーが要求を提出するような何かを行う場合は、あなたが「ジョブが開始された、ありがとう」と応え、とにかく問題ではありません。応答する前に、非同期でジョブを実行します(node.jsコードで始める必要があります)。

  2. 仕事をいくつかのテーブルやファイルやNoSQLのストアにデータを置きます。

  3. ユーザーは(完全、ランニング、開始)ジョブとその状態のリストを見るために別のURLにアクセスして、その結果を表示することができます。

+0

私のnode.jsコードを見ると、私のデータがdbに格納された後に応答を返すのを待っています。私はすぐに応答を送ってみて、それが役立つのを見てみましょう。 – Clint

+0

@clint - はい、データ処理を非同期で開始することを確認してください*。あなたがそれを行う方法がわからない場合は、あなたの質問は、あなたのプロセスの詳細と何をしようとしたと更新、または単に新しい質問 – hvgotcodes

+0

ほとんど間違いなく、データベースに私のデータを格納するための非同期呼び出しで起動します。それはノードで非同期にしないことは難しいです:-)私は、クライアントのajax呼び出しが、ブラウザがそれを切り捨てる前にノードにすることさえしていない可能性があると思います。私はより多くのテストを行い、元に戻るでしょう。 – Clint

関連する問題