From 48912bdf55a2b9a71452d000b62db41cbce4a0e1 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Sat, 25 Mar 2017 22:21:07 +0100 Subject: [PATCH] Healthcheck: Check redis and cache --- src/pretix/base/views/health.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/pretix/base/views/health.py b/src/pretix/base/views/health.py index c6cf152157..c3b7f5d0d8 100644 --- a/src/pretix/base/views/health.py +++ b/src/pretix/base/views/health.py @@ -1,3 +1,5 @@ +from django.conf import settings +from django.core import cache from django.http import HttpResponse from ..models import User @@ -6,4 +8,18 @@ from ..models import User def healthcheck(request): # Perform a simple DB query to see that DB access works User.objects.exists() + + # Test if redis access works + if settings.HAS_REDIS: + import django_redis + + redis = django_redis.get_redis_connection("redis") + redis.set("_healthcheck", 1) + if not redis.exists("_healthcheck"): + return HttpResponse("Redis not available.", status=503) + + cache.cache.set("_healthcheck", "1") + if not cache.cache.get("_healthcheck") == "1": + return HttpResponse("Cache not available.", status=503) + return HttpResponse()