diff --git a/app.js b/app.js index f96d019..80b00ef 100644 --- a/app.js +++ b/app.js @@ -207,17 +207,16 @@ const resCacher = { setContentType: 'application/json' } -const startupTime = Date.now() +let shutdownTime +if (Settings.processLifespanLimitMs) { + Settings.processLifespanLimitMs += + Settings.processLifespanLimitMs * (Math.random() / 10) + shutdownTime = Date.now() + Settings.processLifespanLimitMs + logger.info('Lifespan limited to ', shutdownTime) +} + const checkIfProcessIsTooOld = function(cont) { - if (typeof Settings.processLifespanLimitMs === 'string') { - Settings.processLifespanLimitMs = parseInt(Settings.processLifespanLimitMs) - Settings.processLifespanLimitMs += - Settings.processLifespanLimitMs * (Math.random() / 10) - } - if ( - Settings.processLifespanLimitMs && - startupTime + Settings.processLifespanLimitMs < Date.now() - ) { + if (shutdownTime && shutdownTime < Date.now()) { logger.log('shutting down, process is too old') resCacher.send = function() {} resCacher.code = 500 diff --git a/config/settings.defaults.js b/config/settings.defaults.js index fb7384b..e5df062 100644 --- a/config/settings.defaults.js +++ b/config/settings.defaults.js @@ -23,7 +23,7 @@ module.exports = { compileSizeLimit: process.env.COMPILE_SIZE_LIMIT || '7mb', processLifespanLimitMs: - process.env.PROCESS_LIFE_SPAN_LIMIT_MS || 60 * 60 * 24 * 1000 * 2, + parseInt(process.env.PROCESS_LIFE_SPAN_LIMIT_MS) || 60 * 60 * 24 * 1000 * 2, path: { compilesDir: Path.resolve(__dirname + '/../compiles'),