sql >> Database teknologi >  >> RDS >> PostgreSQL

Flask og SQLAlchemy forårsager en masse IDLE i transaktionsforbindelser i PostgreSQL

Jeg har set denne situation opstå, når du kører Flask i Debug mode a> . Hvis din kode afgiver en undtagelse, og debuggeren starter, vil transaktionen aldrig blive "rullet tilbage" eller "fjernet". Som et resultat bliver den session, der blev brugt på anmodningen, der mislykkedes, aldrig returneret til puljen.

Løsningen er at deaktivere fejlretningstilstand.

EDIT:

Der er en anden omstændighed, hvor jeg har set dette ske. Hvis du har kode, der kører autonomt (dvs. ikke en del af en HTTP-transaktion – som en uafhængig tråd, der startede og dannede ved lanceringen af ​​Flask-appen), vil det normalt involvere en dvale. Hvis du får adgang til sessionen før søvnen, ender du med en hængt transaktion som denne under søvnen.

En anden mulighed er, at du får adgang til en session fra funktionen Opret app. Hvis du gør det, skal du sørge for at .remove() det. Ellers kunne den session forblive hængt på hovedtråden i en givet app.



  1. SQL-forespørgsel, der returnerer Operand, skal indeholde 1 kolonne(r)

  2. Tsrange - Beregning af forskellen mellem to områder

  3. værdier opdateres ikke fra PHP AJAX-formular til MYSQL-database

  4. SQL Server:Sådan vælger du alle dage i et datointerval, selvom der ikke eksisterer nogen data i nogle dage