user70192
user70192

Reputation: 14204

Set HTTP timeout in Node.js

I'm working on an app that uses Node.js as the backend. Currently, I have a web server setup like this:

var express = require('express');
var http = require('http');

var app = module.exports.app = express();
http.createServer(app).listen(appConfig.port, function () {
    var logger = app.get('logger');
    logger.info('**** STARTING SERVER ****');
});

My app is working just fine. Except, I have now added a request that is takes ~5 minutes. From my understanding, Node defaults to a 2 minute timeout window. I can read the documentation here. However, I don't understand how to set the timeout to a greater value.

Can someone show me how to increase the timeout to 10 minutes?

Upvotes: 0

Views: 1241

Answers (1)

xxcezz
xxcezz

Reputation: 364

this should set it. you need a reference to the server object then set the timeout

var express = require('express');
var http = require('http');

var app = module.exports.app = express();
var server = http.createServer(app);
server.setTimeout(10*60*1000); // 10 * 60 seconds * 1000 msecs
server.listen(appConfig.port, function () {
    var logger = app.get('logger');
    logger.info('**** STARTING SERVER ****');
});

Upvotes: 2

Related Questions