From db6ab94906975f83f6f2a2397ab31861124822df Mon Sep 17 00:00:00 2001 From: dsyoon Date: Sun, 8 Feb 2026 09:08:42 +0900 Subject: [PATCH] =?UTF-8?q?Flask=20DB=20=EC=97=B0=EA=B2=B0=20=EC=98=B5?= =?UTF-8?q?=EC=85=98(DB=5FSSLMODE)=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - psycopg2 sslmode를 env로 설정 가능(기본 prefer) - healthz 실패 시 db_connect_failed 에러 코드 반환 Co-authored-by: Cursor --- flask_app.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/flask_app.py b/flask_app.py index e731975..9527b22 100644 --- a/flask_app.py +++ b/flask_app.py @@ -49,6 +49,8 @@ DB_PORT = int(env("DB_PORT", "5432") or "5432") DB_NAME = env("DB_NAME", "").strip() DB_USER = env("DB_USER", "").strip() DB_PASSWORD = env("DB_PASSWORD", "").strip() +DB_SSLMODE = env("DB_SSLMODE", "prefer").strip() or "prefer" +DB_CONNECT_TIMEOUT = int(env("DB_CONNECT_TIMEOUT", "5") or "5") TABLE = safe_ident(env("TABLE", "ncue_user") or "ncue_user") CONFIG_TABLE = "ncue_app_config" @@ -90,7 +92,8 @@ def get_pool() -> psycopg2.pool.SimpleConnectionPool: dbname=DB_NAME, user=DB_USER, password=DB_PASSWORD, - sslmode="disable", + sslmode=DB_SSLMODE, + connect_timeout=DB_CONNECT_TIMEOUT, ) return _POOL @@ -268,7 +271,8 @@ def healthz() -> Response: return jsonify({"ok": False}), 500 return jsonify({"ok": True}) except Exception: - return jsonify({"ok": False}), 500 + # Keep response minimal but actionable + return jsonify({"ok": False, "error": "db_connect_failed"}), 500 @app.post("/api/auth/sync")