fix(spark-analytics): robust JDBC URL parsing, log resolved DB host on startup
Handle URLs without explicit port, show DB_HOST:PORT/DB_NAME in error messages and startup log to simplify connection debugging. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -18,10 +18,10 @@ data:
|
|||||||
|
|
||||||
PORT = int(os.environ.get("PORT", "8080"))
|
PORT = int(os.environ.get("PORT", "8080"))
|
||||||
|
|
||||||
_url = os.environ.get("NOWCHESS_JDBC_URL", "jdbc:postgresql://localhost:5432/nowchess")
|
_url = os.environ.get("NOWCHESS_JDBC_URL", "")
|
||||||
_m = re.match(r"jdbc:postgresql://([^:/]+):(\d+)/(.+)", _url)
|
_m = re.match(r"jdbc:postgresql://([^:/]+)(?::(\d+))?/([^?]+)", _url)
|
||||||
DB_HOST = _m.group(1) if _m else "localhost"
|
DB_HOST = _m.group(1) if _m else "localhost"
|
||||||
DB_PORT = int(_m.group(2)) if _m else 5432
|
DB_PORT = int(_m.group(2)) if (_m and _m.group(2)) else 5432
|
||||||
DB_NAME = _m.group(3) if _m else "nowchess"
|
DB_NAME = _m.group(3) if _m else "nowchess"
|
||||||
DB_USER = os.environ.get("NOWCHESS_DB_USER", "nowchess")
|
DB_USER = os.environ.get("NOWCHESS_DB_USER", "nowchess")
|
||||||
DB_PASS = os.environ.get("NOWCHESS_DB_PASS", "")
|
DB_PASS = os.environ.get("NOWCHESS_DB_PASS", "")
|
||||||
@@ -134,7 +134,7 @@ data:
|
|||||||
return page(
|
return page(
|
||||||
label,
|
label,
|
||||||
f"{back}<h2>{html.escape(label)}</h2>"
|
f"{back}<h2>{html.escape(label)}</h2>"
|
||||||
f"<div class='notice'>Error querying {html.escape(table)}: {html.escape(str(e))}</div>",
|
f"<div class='notice'>Error querying {html.escape(table)} on {html.escape(DB_HOST)}:{DB_PORT}/{html.escape(DB_NAME)}: {html.escape(str(e))}</div>",
|
||||||
)
|
)
|
||||||
if not headers:
|
if not headers:
|
||||||
return page(
|
return page(
|
||||||
@@ -183,7 +183,7 @@ data:
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
server = HTTPServer(("0.0.0.0", PORT), Handler)
|
server = HTTPServer(("0.0.0.0", PORT), Handler)
|
||||||
print(f"Listening on :{PORT} DB={DB_HOST}:{DB_PORT}/{DB_NAME}", flush=True)
|
print(f"Listening on :{PORT} DB={DB_HOST}:{DB_PORT}/{DB_NAME} JDBC_URL={_url!r}", flush=True)
|
||||||
server.serve_forever()
|
server.serve_forever()
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
|
|||||||
Reference in New Issue
Block a user