Необходимо сократить период ожидания для маршрута в expressjs

Внутри expressjs есть способ установить ограничение тайм-аута для каждого маршрута.

У меня есть несколько маршрутов, которые могут занять 30-45 секунд для обработки (большое количество задач)

И затем другие маршруты, которые, если это займет больше 5 секунд, я хочу, чтобы это было время.

Я предполагаю, что я спрашиваю, есть ли способ глобально установить ограничение тайм-аута на запросы и есть ли способ сделать это индивидуально на маршрутах.

1 ответ

Используйте встроенное промежуточное программное обеспечение для подключения-тайм-аута:

http://www.senchalabs.org/connect/timeout.html

var connectTimeout = require('connect-timeout');
var timeout = connectTimeout({ time: 10000 });
var longTimeout = connectTimeout({ time: 45000 });
app.use(timeout); // you can set a global timeout value
app.get('/some/route', longTimeout, yourHandler); // or you can set per-route timeouts

licensed under cc by-sa 3.0 with attribution.