From 02101868e1d9f46bede47b345a9efff3c386dc16 Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Wed, 7 Jan 2015 10:26:30 +0000 Subject: [PATCH] put all shutdown logic in beginShutdown, force program to exit after 2 mins --- services/filestore/app.coffee | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/services/filestore/app.coffee b/services/filestore/app.coffee index 9a1bfc7ef9..2638787b83 100644 --- a/services/filestore/app.coffee +++ b/services/filestore/app.coffee @@ -103,8 +103,6 @@ app.get "/health_check", (req, res)-> else res.send(503) - - app.get '*', (req, res)-> res.send 404 @@ -115,12 +113,16 @@ host = settings.internal.filestore.host or "localhost" beginShutdown = () -> if appIsOk appIsOk = false - server.close() + # hard-terminate this process if graceful shutdown fails + killTimer = setTimeout () -> + process.exit 1 + , 120*1000 + killTimer.unref?() # prevent timer from keeping process alive + server.close () -> + logger.log "closed all connections" + Metrics.close() + process.disconnect?() logger.log "server will stop accepting connections" -server.on "close", () -> - logger.log "closed all connections" - process.exit 1 - server.listen port, host, -> logger.log("filestore store listening on #{host}:#{port}")