我正在编写一个快速的小测试视图,我可以每隔几分钟GET
检查我的应用程序和数据库服务器是否在线并正常运行。
from django.http import HttpResponse, HttpResponseServerError
from my_app.models import Model
def test(request):
'''
Returns a HttpResponse to prove the application/db servers work
'''
if request.method == "GET":
#test database access
count = Model.objects.values_list('id', flat=True).count()
if count:
return HttpResponse("OK")
return HttpResponseServerError("Error")
我是否可以使用更少的内置数据库查询来测试数据库服务器是否正在运行并接入应用服务器,而不必像上面那样做假的?
答案 0 :(得分:3)
您可以导入django连接并检查您的数据库:
from django.db import connections
try:
cursor = connections['default'].cursor()
except OperationalError:
return HttpResponseServerError("Error")
else:
return HttpResponse("OK")
return HttpResponseServerError("Error")