2016-05-29 12 views
1

PostgreSQL/node.jsのDB接続を一時停止して再開するにはどうすればよいですか?これは私が達成したいかのアイデアです:NodeJSでのPostgreSQL接続の一時停止と再開

query 
.on('error', function(err) { 
    // Handle error 
}) 
.on('row', function(row) { 
    // Process a row but first pause connection so it wont keep getting into 'row' event and finish processing this row first 
    pgconnection.pause(); 

    async.series([ 
     functions() 
    ]) 

    pgconnection.resume(); 
}) 
.on('end', function() { 
    //Rows have been received and finish 
}); 

は、今私はPGとPG-クエリストリームモジュールを模索してきたが、haventははまだ運を得ました。主な目的は、次の '行'イベントまたは '終了'イベントに移動する前に、 '行'イベント内のすべての非同期関数を完了することです。

はすべてのフィードバックが大幅に

答えて

0

をいただければ幸いあなたは非同期コードに同期制限を適用しようとし、それを間違った方法を探しています。それは動作しません。たとえそれがあっても、結果は悪くスケーラビリティがありません。

代わりに行うべきことは、問題の答えであるpromisesに精通していることです。

主な目的は、すべての単一の非同期機能

標準Promise.allそれを行うに完成させることです。

私はpgpg-query-streamモジュールを模索してきたが、haventははまだ

pg任意の運を持って、非同期モジュールであり、そしてそれは、ストリームであるのでpg-query-streamは、できるだけ速く動作するようになっています。あなたはストリームをブロックしません、それは彼らがどのように動作するかではありません。コードロジックがデータをストリームからページする方法を処理できない場合は、ストリームプロバイダではなくコードに何か問題があります。次に、約束を学び、それを適切に使用する方法を学びます。

関連する問題