diff --git a/services/web/app/coffee/Features/HealthCheck/HealthCheckController.coffee b/services/web/app/coffee/Features/HealthCheck/HealthCheckController.coffee index 066e32ede9..1924cc4338 100644 --- a/services/web/app/coffee/Features/HealthCheck/HealthCheckController.coffee +++ b/services/web/app/coffee/Features/HealthCheck/HealthCheckController.coffee @@ -1,5 +1,8 @@ Mocha = require "mocha" Base = require("mocha/lib/reporters/base") +redis = require("redis-sharelatex") +settings = require("settings-sharelatex") +redisCheck = redis.activeHealthCheckRedis(settings.redis.web) module.exports = HealthCheckController = check: (req, res, next = (error) ->) -> @@ -8,6 +11,15 @@ module.exports = HealthCheckController = mocha.run () -> path = require.resolve(__dirname + "/../../../../test/smoke/js/SmokeTests.js") delete require.cache[path] + + checkRedis: (req, res, next)-> + if redisCheck.isAlive() + res.send 200 + else + res.send 500 + + + Reporter = (res) -> (runner) -> diff --git a/services/web/app/coffee/router.coffee b/services/web/app/coffee/router.coffee index aaf81a8f16..a80f215cb8 100644 --- a/services/web/app/coffee/router.coffee +++ b/services/web/app/coffee/router.coffee @@ -175,6 +175,7 @@ module.exports = class Router req.session.destroy() app.get '/health_check', HealthCheckController.check + app.get '/health_check/redis', HealthCheckController.checkRedis app.get "/status/compiler/:Project_id", SecurityManager.requestCanAccessProject, (req, res) -> sendRes = _.once (statusCode, message)-> diff --git a/services/web/package.json b/services/web/package.json index 9b43687fd0..08ef2aadd1 100644 --- a/services/web/package.json +++ b/services/web/package.json @@ -31,7 +31,7 @@ "optimist": "0.6.1", "redback": "0.4.0", "redis": "0.10.1", - "redis-sharelatex": "~0.0.4", + "redis-sharelatex": "0.0.9", "request": "2.34.0", "rimraf": "2.2.6", "sanitizer": "0.1.1",