私はexpressjsに基づいてビデオをストリーミングしています。ビデオやユーザーがそこからビデオファイルをダウンロードできます。
私はアプリを起動すると、すべてうまくいきます。しかし、アプリがビデオをストリーミングすることができず、ファイルをダウンロードすることができないうちに、長い時間が経過しても空のファイルが返されてしまった後には、アプリを再起動するしかない。ディスクから読み込んだときにNodejsがクラッシュする
nginxのエラーログ:
2017/01/16 19:39:39 [error] 10584#10584: *23717 upstream prematurely closed connection while reading upstream, client: x.x.x.x, server: example.com, request: "GET /api/course/.../video/.../stream HTTP/1.1", upstream: "http://127.0.0.1:8080/api/course/.../video/.../stream", host: "example.com"
私はクラスタモードでPM2を使用しています。
私は、ロギングエラーのアプリでこれを持っている:
process.on('uncaughtException', function(err) {
console.log(err);
winston.error('Caught exception : ' ,err);
});
しかし、ログファイルにはエラーはありません。
ストリーミングビデオの場合は、thisと同様の方法を使用します。
ファイルをダウンロードする私はエクスプレスダウンロード機能を使用しています。
ファイルハンドルやその他のシステムリソースを漏らしてしまい、最終的には尽きることはありますか? – jfriend00