Split load_config into per-section readers, use contextlib.suppress and a single condition where ruff asked, remove stale noqa comments, add the SIM and RUF100 rules, share the sign_in test helper, align AD-6 with the code and record the remaining deferred findings. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N3t4WL7bd9bdHHNjEsxzqC
24 lines
735 B
Python
24 lines
735 B
Python
"""Liveness check. Database only; never AD, SMTP or the share (AD-18)."""
|
|
|
|
import logging
|
|
|
|
from django.db import connection
|
|
from django.http import JsonResponse
|
|
from django.views.decorators.cache import never_cache
|
|
from django.views.decorators.http import require_GET
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@require_GET
|
|
@never_cache
|
|
def healthz(request):
|
|
try:
|
|
with connection.cursor() as cursor:
|
|
cursor.execute("SELECT 1")
|
|
cursor.fetchone()
|
|
except Exception as exc: # any failure means unavailable
|
|
logger.error("health check failed", extra={"error_type": type(exc).__name__})
|
|
return JsonResponse({"status": "unavailable"}, status=503)
|
|
return JsonResponse({"status": "ok"})
|