Saya telah melihat situasi ini terjadi ketika Anda menjalankan Flask di mode Debug . Jika kode Anda mengeluarkan pengecualian dan debugger masuk, transaksi tidak akan pernah "dikembalikan" atau "dihapus". Akibatnya, sesi yang digunakan pada permintaan yang gagal tidak pernah dikembalikan ke kumpulan.
Solusinya adalah dengan menonaktifkan mode debug.
EDIT:
Ada keadaan lain di mana saya telah melihat ini terjadi. Jika Anda memiliki kode yang berjalan secara mandiri (yaitu bukan bagian dari transaksi HTTP – seperti utas independen yang dimulai dan muncul saat peluncuran aplikasi Flask), biasanya akan melibatkan mode tidur. Jika Anda mengakses sesi sebelum tidur, maka Anda akan berakhir dengan transaksi macet seperti ini selama tidur.
Kemungkinan lain adalah Anda mengakses sesi dari fungsi buat aplikasi. Jika Anda melakukannya, pastikan untuk .remove() itu. Jika tidak, sesi tersebut dapat tetap digantung di utas utama di aplikasi gevent.