मैंने यह स्थिति तब देखी है जब आप फ्लास्क को डीबग मोडमें चलाते हैं। ए> . यदि आपका कोड एक अपवाद फेंकता है और डीबगर अंदर आता है, तो लेन-देन कभी भी "लुढ़का हुआ" या "निकाला" नहीं जाएगा। परिणामस्वरूप, अनुरोध पर उपयोग किया गया सत्र जो विफल हो गया वह कभी भी पूल में वापस नहीं आता है।
समाधान डिबग मोड को अक्षम करना है।
संपादित करें:
एक और परिस्थिति है जहाँ मैंने ऐसा होते देखा है। यदि आपके पास ऐसा कोड है जो स्वायत्त रूप से चलता है (अर्थात HTTP लेन-देन का हिस्सा नहीं है - जैसे कि फ्लास्क ऐप के लॉन्च पर एक स्वतंत्र थ्रेड शुरू हुआ और शुरू हुआ), तो इसमें आमतौर पर नींद शामिल होगी। यदि आप सोने से पहले सत्र को एक्सेस करते हैं, तो आप नींद के दौरान इस तरह के एक त्रिशंकु लेनदेन के साथ समाप्त होंगे।
एक और संभावना यह है कि आप ऐप बनाएं फ़ंक्शन से सत्र तक पहुंच रहे हैं। यदि आप ऐसा करते हैं, तो इसे .remove() करना सुनिश्चित करें। अन्यथा, वह सत्र किसी gevent ऐप में मुख्य थ्रेड पर लटका रह सकता है।