How to run node.js with timeout?

Viewed 574

Is possible to run node.js with timeout? In my script I am connecting to external services which sometimes don't respond. Then my script hangs and the node.js process hangs.

I would like to force exit process after 5 minutes no matter if there is an error, if the process hangs or if everything is being done correctly.

It is independent of the services I use. I just want to kill the script after 5 minutes in any situation.

2 Answers

You want to set the server.timeout property (default 0 no timeout)

Example.

var server = app.listen(<port>, function() {
  debug('Express server listening on port ' + <port>);
});
server.timeout = 300000; //5 minutes

You can use process.exit function with exit code.

setTimeout(() => {
    process.exit(0);
}, 1000 * 60 * 5)
Related