diff --git a/src/pretix/base/views/health.py b/src/pretix/base/views/health.py new file mode 100644 index 0000000000..c6cf152157 --- /dev/null +++ b/src/pretix/base/views/health.py @@ -0,0 +1,9 @@ +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() + return HttpResponse() diff --git a/src/pretix/urls.py b/src/pretix/urls.py index 4956418b3b..16a9da0d78 100644 --- a/src/pretix/urls.py +++ b/src/pretix/urls.py @@ -8,7 +8,7 @@ from django.views.i18n import javascript_catalog import pretix.control.urls import pretix.presale.urls -from .base.views import cachedfiles +from .base.views import cachedfiles, health # This is not a valid Django URL configuration, as the final # configuration is done by the pretix.multidomain package. @@ -23,6 +23,8 @@ import_date = timezone.now().strftime("%Y%m%d%H%M") base_patterns = [ url(r'^download/(?P[^/]+)/$', cachedfiles.DownloadView.as_view(), name='cachedfile.download'), + url(r'^healthcheck/$', health.healthcheck, + name='cachedfile.download'), url(r'^jsi18n/$', etag(lambda *s, **k: import_date)(cache_page(3600, key_prefix='js18n-%s' % import_date)(javascript_catalog)), js_info_dict, name='javascript-catalog'),