Commit ed4fbfc1 authored by Anthony Jacob's avatar Anthony Jacob
Browse files

try to fix db connexion loss after few minutes

parent d0928bcd
Loading
Loading
Loading
Loading
+20 −4
Original line number Diff line number Diff line
@@ -5,9 +5,25 @@ from psycopg.rows import dict_row
@contextmanager
def db_cursor(dict_results=False):
    try:
        with current_app.db_pool.connection() as conn:
            with conn.cursor(row_factory=dict_row if dict_results else None) as cur:
        conn = current_app.db_pool.getconn()
        cur = conn.cursor()
        # --- Keepalive query ---
        cur.execute("SELECT 1;")
        # ----------------------
        if dict_results:
            cur = conn.cursor(row_factory=dict_row)
        yield conn, cur

        # with current_app.db_pool.connection() as conn:
        #     cur = conn.cursor()
        #     # --- Keepalive query ---
        #     cur.execute("SELECT 1;")
        #     with conn.cursor(row_factory=dict_row if dict_results else None) as cur:
        #         yield conn, cur
    except Exception as e:
        current_app.logger.error(f"Database error: {e}")
        raise
 No newline at end of file
    finally:
        if cur:
            cur.close()
        if conn:
            current_app.db_pool.putconn(conn)
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ app.db_pool = ConnectionPool(
    f"port={app.config['POSTGRES_PORT']}",
    min_size=1,
    max_size=100,
    max_lifetime=150,
    timeout=10,
    open=True,
)