Преглед изворни кода

if redis fails once mark it to always fail

Henry Oswald пре 12 година
родитељ
комит
ef0ea2ace2
1 измењених фајлова са 5 додато и 1 уклоњено
  1. 5 1
      libraries/redis-wrapper/index.coffee

+ 5 - 1
libraries/redis-wrapper/index.coffee

@@ -25,6 +25,7 @@ module.exports = RedisSharelatex =
 		sub = RedisSharelatex.createClient(connectionInfo)
 		sub = RedisSharelatex.createClient(connectionInfo)
 		pub = RedisSharelatex.createClient(connectionInfo)
 		pub = RedisSharelatex.createClient(connectionInfo)
 		
 		
+		redisIsOk = true
 		heartbeatInterval = 2000 #ms
 		heartbeatInterval = 2000 #ms
 		isAliveTimeout = 10000 #ms
 		isAliveTimeout = 10000 #ms
 		
 		
@@ -45,8 +46,11 @@ module.exports = RedisSharelatex =
 
 
 		isAlive = ->
 		isAlive = ->
 			timeSinceLastHeartbeat = Date.now() - lastHeartbeat
 			timeSinceLastHeartbeat = Date.now() - lastHeartbeat
-			if timeSinceLastHeartbeat > isAliveTimeout
+			if !redisIsOk
+				return false
+			else if timeSinceLastHeartbeat > isAliveTimeout
 				console.error "heartbeat from redis timed out"
 				console.error "heartbeat from redis timed out"
+				redisIsOk = false
 				return false
 				return false
 			else
 			else
 				return true
 				return true