Express 4.x закрывает соединения через 2 минуты

У меня есть простое приложение node, которое обрабатывает GET /foo. Этот запрос требует некоторого времени для вычисления и возврата файла. Каждый раз, когда запрос длится более 2 минут, соединение закрывается. Я использую Express 4.10.2 и узел 0.10.32.

Я читал, что модуль http имеет таймаут по умолчанию 2 минуты: http://contourline.wordpress.com/2011/03/30/preventing-server-timeout-in-node-js/

Я пытался использовать:

server.on('connection', function(socket) {
    socket.setTimeout(5*60*1000); //5 minutes
});

Но даже если через две минуты соединение не было закрыто, при попытке сервера отправить файл обратно я получил:

{ [Error: Request aborted] code: 'ECONNABORT' }

РЕДАКТИРОВАТЬ:

server.setTimeout(5*60*1000); работает нормально! Спасибо @mscdex


person kdelemme    schedule 13.11.2014    source источник
comment
Вы пробовали server.setTimeout(5*60*1000) вне обработчика событий connection?   -  person mscdex    schedule 13.11.2014
comment
Я попробую это. дайте знать через несколько. Благодарность   -  person kdelemme    schedule 13.11.2014


Ответы (1)


server.setTimeout() — это метод, который устанавливает время ожидания HTTP-соединения для всех подключений.

person mscdex    schedule 13.11.2014