Henry Oswald пре 7 година
родитељ
комит
8073cdea75
2 измењених фајлова са 10 додато и 8 уклоњено
  1. 10 7
      services/real-time/app.coffee
  2. 0 1
      services/real-time/app/coffee/ConnectedUsersManager.coffee

+ 10 - 7
services/real-time/app.coffee

@@ -1,5 +1,9 @@
+Metrics = require("metrics-sharelatex")
+Metrics.initialize(Settings.appName or "real-time")
+
 logger = require "logger-sharelatex"
 logger = require "logger-sharelatex"
 logger.initialize("real-time-sharelatex")
 logger.initialize("real-time-sharelatex")
+Metrics.event_loop.monitor(logger)
 
 
 express = require("express")
 express = require("express")
 session = require("express-session")
 session = require("express-session")
@@ -14,9 +18,7 @@ RedisStore = require('connect-redis')(session)
 SessionSockets = require('session.socket.io')
 SessionSockets = require('session.socket.io')
 CookieParser = require("cookie-parser")
 CookieParser = require("cookie-parser")
 
 
-Metrics = require("metrics-sharelatex")
-Metrics.initialize(Settings.appName or "real-time")
-Metrics.event_loop.monitor(logger)
+
 
 
 
 
 DrainManager = require("./app/js/DrainManager")
 DrainManager = require("./app/js/DrainManager")
@@ -84,21 +86,22 @@ Error.stackTraceLimit = 10
 
 
 shutdownCleanly = (signal) ->
 shutdownCleanly = (signal) ->
 	connectedClients = io.sockets.clients()?.length
 	connectedClients = io.sockets.clients()?.length
-	logger.log {connectedClients, signal}, "looking to shut down process"
 	if connectedClients == 0
 	if connectedClients == 0
 		logger.log("no clients connected, exiting")
 		logger.log("no clients connected, exiting")
 		process.exit()
 		process.exit()
 	else
 	else
+		logger.log {connectedClients}, "clients still connected, not shutting down yet"
 		setTimeout () ->
 		setTimeout () ->
 			shutdownCleanly(signal)
 			shutdownCleanly(signal)
 		, 10000
 		, 10000
 
 
 forceDrain = ->
 forceDrain = ->
 	THREE_HOURS = 60 * 1000 * 60 * 3
 	THREE_HOURS = 60 * 1000 * 60 * 3
-	setTimeout( -> , 
-		logger.log({delay_ms:THREE_HOURS}, "starting drain")
+	logger.log {delay_ms:THREE_HOURS}, "starting force drain after timeout"
+	setTimeout ()-> 
+		logger.log "starting drain"
 		DrainManager.startDrain(io, 4)
 		DrainManager.startDrain(io, 4)
-	, THREE_HOURS)
+	, THREE_HOURS
 	
 	
 
 
 if Settings.drainBeforeShutdown
 if Settings.drainBeforeShutdown

+ 0 - 1
services/real-time/app/coffee/ConnectedUsersManager.coffee

@@ -12,7 +12,6 @@ FOUR_DAYS_IN_S = ONE_DAY_IN_S * 4
 USER_TIMEOUT_IN_S = ONE_HOUR_IN_S / 4
 USER_TIMEOUT_IN_S = ONE_HOUR_IN_S / 4
 
 
 module.exports =
 module.exports =
-
 	# Use the same method for when a user connects, and when a user sends a cursor
 	# Use the same method for when a user connects, and when a user sends a cursor
 	# update. This way we don't care if the connected_user key has expired when
 	# update. This way we don't care if the connected_user key has expired when
 	# we receive a cursor update. 
 	# we receive a cursor update.