forked from CGM_Public/pretix_original
26 lines
724 B
Python
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()
|