[misc] let the orchestrator handle the process restart

Note that there is also the `shutdownCleanly` interval which may notice
 that the shutdown has completed. There is some network IO required to
 signal all clients the server disconnect, so we cannot run process.exit
 immediately.
This commit is contained in:
Jakob Ackermann 2020-08-13 12:39:51 +01:00
parent ee59056c6e
commit ea75b84eef

View file

@ -98,7 +98,16 @@ function healthCheck(req, res) {
} }
}) })
} }
app.get('/health_check', healthCheck) app.get(
'/health_check',
(req, res, next) => {
if (Settings.shutDownComplete) {
return res.sendStatus(503)
}
next()
},
healthCheck
)
app.get('/health_check/redis', healthCheck) app.get('/health_check/redis', healthCheck)
@ -167,6 +176,8 @@ function drainAndShutdown(signal) {
client.disconnect() client.disconnect()
}) })
} }
// Mark the node as unhealthy.
Settings.shutDownComplete = true
}, Settings.gracefulReconnectTimeoutMs) }, Settings.gracefulReconnectTimeoutMs)
}) })
shutdownCleanly(signal) shutdownCleanly(signal)