sql >> Databasteknik >  >> RDS >> PostgreSQL

Flask och SQLAlchemy orsakar mycket IDLE i transaktionsanslutningar i PostgreSQL

Jag har sett den här situationen inträffa när du kör Flask i felsökningsläge a> . Om din kod ger ett undantag och felsökaren startar, kommer transaktionen aldrig att "rullas tillbaka" eller "ta bort". Som ett resultat kommer sessionen som användes på begäran som misslyckades aldrig att returneras till poolen.

Lösningen är att inaktivera felsökningsläget.

EDIT:

Det finns en annan omständighet där jag har sett detta hända. Om du har kod som körs autonomt (d.v.s. inte en del av en HTTP-transaktion – som en oberoende tråd som startade och skapades vid lanseringen av Flask-appen), kommer det vanligtvis att innebära en sömn. Om du kommer åt sessionen före sömnen, kommer du att sluta med en hängd transaktion som denna under sömnen.

En annan möjlighet är att du kommer åt en session från funktionen skapa app. Om du gör det, se till att .remove() det. Annars kan den sessionen förbli hängd på huvudtråden i en given app.



  1. Hur fixar jag, "PHP"-fabrikat, i Mac OS X (10.9.4)?

  2. Finns det en visning i all (set division?) operation inbyggd i MySQL?

  3. Vad är orsaken till PGError:FATAL:avslutar anslutningen på grund av administratörskommando på heroku?

  4. Välj rad med senaste datum per användare