Files
pretix_cgo/src/pretix/base/views/health.py
2017-03-25 22:21:07 +01:00

26 lines
724 B
Python

from django.conf import settings
from django.core import cache
from django.http import HttpResponse
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()