From 17f6a6bbe9282ddbed51d2d2306af3b40eafd457 Mon Sep 17 00:00:00 2001 From: MICHAEL JACKSON Date: Fri, 18 Aug 2017 23:10:04 -0700 Subject: [PATCH] Use startServer function --- server.js | 50 ++++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/server.js b/server.js index 2a2b146..bde7521 100644 --- a/server.js +++ b/server.js @@ -4,32 +4,34 @@ const createApp = require('./server/createApp') const port = parseInt(process.env.PORT, 10) || 5000 +function startServer(id) { + const server = http.createServer(createApp()) + + // Heroku dynos automatically timeout after 30s. Set our + // own timeout here to force sockets to close before that. + // https://devcenter.heroku.com/articles/request-timeout + server.setTimeout(25000, function (socket) { + const message = `Timeout of 25 seconds exceeded` + + socket.end([ + 'HTTP/1.1 503 Service Unavailable', + 'Date: ' + (new Date).toGMTString(), + 'Content-Length: ' + Buffer.byteLength(message), + 'Content-Type: text/plain', + 'Connection: close', + '', + message + ].join('\r\n')) + }) + + server.listen(port, function () { + console.log('Server #%s listening on port %s, Ctrl+C to stop', id, port) + }) +} + throng({ workers: process.env.WEB_CONCURRENCY || 1, lifetime: Infinity, grace: 25000, - start: function (id) { - const server = http.createServer(createApp()) - - // Heroku dynos automatically timeout after 30s. Set our - // own timeout here to force sockets to close before that. - // https://devcenter.heroku.com/articles/request-timeout - server.setTimeout(25000, function (socket) { - const message = `Timeout of 25 seconds exceeded` - - socket.end([ - `HTTP/1.1 503 Service Unavailable`, - `Date: ${(new Date).toGMTString()}`, - `Content-Type: text/plain`, - `Content-Length: ${Buffer.byteLength(message)}`, - `Connection: close`, - ``, - message - ].join(`\r\n`)) - }) - - server.listen(port, function () { - console.log('Server #%s listening on port %s, Ctrl+C to stop', id, port) - }) - } + start: startServer })