Я работаю над веб-сайтом, основанным на 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