2011-12-15 12 views
2

node.jsで遊んでいて、私は学習経験としてウェブアプリケーションをアップロードしているファイルを開発しています。今、私はこれを除いてほとんどのコンポーネントを試しました。1アップロードが完了した後、隔離フォルダに正常にファイルをアップロードした後、ファイルをスキャンしてファイルを移動するnode.jsの独立したプロセスを起動しますifクリーン。その間、私はアップロードがファイルが成功したという応答を返すことを望み、スキャンが完了するまで数分かかることを伝えることを望みます。nodejsバックグラウンドタスク

ノードjsでこのようなバックグラウンドプロセスを生成する方法を教えてください。

答えて

5

まあ多分Kueが解決され、ここでそれについての素晴らしいビデオチュートリアルです:http://nodetuts.com/tutorials/27-kue-jobs.html

があなたのメインアプリで基本的には、キュー内のいくつかのタスクを入れて、他のプロセスで使用すると、優先順位に基づいてそれらを実行(それはですあなたがすぐに実行されることを望んでいないので、大丈夫です)。

また、これは各ファイルのアップロードごとにプロセスを生成するよりもずっと優れています。

-1

ノード内のすべてが非同期なので、同じノードアプリケーション内に保持する場合は、asynchronous file system methodsを使用してください。名前にsyncのない方法を使用してください。これらのメソッドはすぐに戻り、スクリプトを続行できます。

+0

同じアプリに保管しますか? 100人のユーザーが同じ時間にスキャンして移動する必要があるファイルをアップロードすると、イベントループがブロックされ、アプリケーション全体が停止するのはどうでしょうか? – alessioalex

+1

ウォッチャーのようなものでは、ファイルシステムイベントが発生する必要はありませんか?あなたは、クライアントがxhrまたはpluploaderを使って2MBのチャンクでそれを送るかもしれないので、ファイルのアップロードが完了したときだけ私はそれを引き起こしたいと思っています。チャンクモードを実行するときのpluploaderは、それまでのチャンクとそこにいくつのチャンクがあるのか​​を投稿します。 – user669186

+0

ファイルシステムイベントを使用して、後で実行するためにジョブをキューイングすることはできますが、それでもスキャンを維持したり、別のプロセスに移動したりして、残りのユーザーのサイト全体をブロックしないようにします)。だから、私はKueがここに合うと言いました。 – alessioalex

関連する問題