PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

फ्लास्क और SQLAlchemy PostgreSQL में लेनदेन कनेक्शन में बहुत सारे IDLE का कारण बनता है

मैंने यह स्थिति तब देखी है जब आप फ्लास्क को डीबग मोड . यदि आपका कोड एक अपवाद फेंकता है और डीबगर अंदर आता है, तो लेन-देन कभी भी "लुढ़का हुआ" या "निकाला" नहीं जाएगा। परिणामस्वरूप, अनुरोध पर उपयोग किया गया सत्र जो विफल हो गया वह कभी भी पूल में वापस नहीं आता है।

समाधान डिबग मोड को अक्षम करना है।

संपादित करें:

एक और परिस्थिति है जहाँ मैंने ऐसा होते देखा है। यदि आपके पास ऐसा कोड है जो स्वायत्त रूप से चलता है (अर्थात HTTP लेन-देन का हिस्सा नहीं है - जैसे कि फ्लास्क ऐप के लॉन्च पर एक स्वतंत्र थ्रेड शुरू हुआ और शुरू हुआ), तो इसमें आमतौर पर नींद शामिल होगी। यदि आप सोने से पहले सत्र को एक्सेस करते हैं, तो आप नींद के दौरान इस तरह के एक त्रिशंकु लेनदेन के साथ समाप्त होंगे।

एक और संभावना यह है कि आप ऐप बनाएं फ़ंक्शन से सत्र तक पहुंच रहे हैं। यदि आप ऐसा करते हैं, तो इसे .remove() करना सुनिश्चित करें। अन्यथा, वह सत्र किसी gevent ऐप में मुख्य थ्रेड पर लटका रह सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हेरोकू भाषा लोकेल काम नहीं कर रही है

  2. सीरियल से पहचान में टेबल आईडी कैसे बदलें?

  3. क्या postgresql में column_id जैसा कुछ है?

  4. PostgreSQL में पर्सेंटाइल की गणना कैसे करें

  5. PostgreSQL में दो तिथियों के बीच अंतराल कैसे खोजें