2016-10-19 5 views
3

Я получаю ошибку сброса соединения. Я вполне уверен, что это происходит из долгого запроса REST, то есть время ожидания.Отключить запрос TImeout в Koa

{ [Error: socket hang up] code: 'ECONNRESET' } 

Есть ли способ отключить тайм-ауты запроса в Коа, чтобы я мог проверить эту гипотезу?

Я бегу узел версии 5.x, коа 0,10, CentOS 6

+0

Что вы подразумеваете под отключением тайм-аутов? Предотвратить выполнение запроса или предотвратить его ошибку? Этот пост может помочь, если вы еще не прочитали его. http://stackoverflow.com/questions/10814481/how-to-debug-a-socket-hang-up-error-in-nodejs/11542134#11542134 –

+0

Спасибо Ларри - я задаюсь вопросом, есть ли еще какой-то ответ, конкретный ответ , Он обертывает HTTP-материал и дает вам ограниченный контроль ... – akaphenom

+0

Вы пытались запустить приложение с 'DEBUG = *' и с помощью app.onerror? Вы пытаетесь найти плохую просьбу? –

ответ

0

кажется ваш запрос занимает больше времени, чем по умолчанию тайм-аут Коа. По умолчанию Koa timeout is 2 minutes

У меня была аналогичная проблема, так как один запрос занимает больше времени, чем 2 минуты. я inspirate по zeronone воздаем на этом посту, и, наконец, эта линия помогла мне

ctx.request.socket.setTimeout(5 * 60 * 1000); 

так весь код в маршрутизаторе может выглядеть

router.post('/long-request', async (ctx) => { 
    // set timeout to 5 minutes 
    ctx.request.socket.setTimeout(5 * 60 * 1000); 

    // do some stuf what take long time 
    // but less than 5 minutes 
}); 

Я очень не рекомендую делать то, что просить принять дольше 1 минуты, идеально запускайте тяжелый материал по отдельному процессу и по другому запросу просто проверьте, выполнена ли работа.

Это может быть полезно только для целей тестирования

 Смежные вопросы

  • Нет связанных вопросов^_^