diff --git a/libraries/redis-wrapper/index.coffee b/libraries/redis-wrapper/index.coffee index 386765af38..770a5030d0 100644 --- a/libraries/redis-wrapper/index.coffee +++ b/libraries/redis-wrapper/index.coffee @@ -26,6 +26,7 @@ module.exports = RedisSharelatex = pub = RedisSharelatex.createClient(connectionInfo) redisIsOk = true + lastPingMessage = "" heartbeatInterval = 2000 #ms isAliveTimeout = 10000 #ms @@ -37,11 +38,15 @@ module.exports = RedisSharelatex = if error? console.error "ERROR: failed to subscribe to #{heartbeatChannel} channel", error sub.on "message", (channel, message) -> + if lastPingMessage == message #we got the same message twice + redisIsOk = false + lastPingMessage = message if channel == heartbeatChannel lastHeartbeat = Date.now() setInterval -> - pub.publish heartbeatChannel, "PING" + message = "ping:#{Date.now()}" + pub.publish heartbeatChannel, message , heartbeatInterval isAlive = ->