diff --git a/dashboard_api_rev.py b/dashboard_api_rev.py index 31c33d3..7ea9dc4 100644 --- a/dashboard_api_rev.py +++ b/dashboard_api_rev.py @@ -205,7 +205,10 @@ def ingest_health(): else "stale" if any(r["freshness"] == "stale" for r in rows) else "ok" ) if rows else "unknown" - return JSONResponse({"overall": worst, "endpoints": rows}) + # rows carry last_run_at (datetime) — jsonable_encoder (Decimal→float, + # datetime→ISO) before JSONResponse, else json.dumps raises TypeError + # and the whole feed 500s into the except below. (260702 fix.) + return JSONResponse(jsonable_encoder({"overall": worst, "endpoints": rows})) except Exception: log.exception("ingest-health failed") return JSONResponse(