Healthcheck: Check redis and cache

This commit is contained in:
Raphael Michel
2017-03-25 22:21:07 +01:00
parent ba70ddfb76
commit 48912bdf55

View File

@@ -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()