Timeout after 25s

This commit is contained in:
Michael Jackson 2018-08-25 18:19:50 -07:00
parent 30cd271339
commit 995780bcbb
2 changed files with 19 additions and 17 deletions

View File

@ -71,21 +71,21 @@ function createServer(publicDir, statsFile) {
// Heroku dynos automatically timeout after 30s. Set our // Heroku dynos automatically timeout after 30s. Set our
// own timeout here to force sockets to close before that. // own timeout here to force sockets to close before that.
// https://devcenter.heroku.com/articles/request-timeout // https://devcenter.heroku.com/articles/request-timeout
// server.setTimeout(25000, socket => { server.setTimeout(25000, socket => {
// const message = `Timeout of 25 seconds exceeded`; const message = `Timeout of 25 seconds exceeded`;
// socket.end( socket.end(
// [ [
// "HTTP/1.1 503 Service Unavailable", "HTTP/1.1 503 Service Unavailable",
// "Date: " + new Date().toGMTString(), "Date: " + new Date().toGMTString(),
// "Content-Length: " + Buffer.byteLength(message), "Content-Length: " + Buffer.byteLength(message),
// "Content-Type: text/plain", "Content-Type: text/plain",
// "Connection: close", "Connection: close",
// "", "",
// message message
// ].join("\r\n") ].join("\r\n")
// ); );
// }); });
return server; return server;
} }

View File

@ -34,8 +34,10 @@ throng({
start: startServer, start: startServer,
lifetime: Infinity, lifetime: Infinity,
// Heroku shuts down processes forcefully after 30 seconds, // In production, increase throng's default grace period to allow
// so make sure we exit before that happens. // servers that are still handling requests to finish. Heroku shuts
// down processes forcefully after 30 seconds, so exit before that
// happens to avoid an exit timeout.
// https://devcenter.heroku.com/articles/dynos#shutdown // https://devcenter.heroku.com/articles/dynos#shutdown
grace: 25000 grace: process.env.NODE_ENV === "production" ? 25000 : 5000
}); });