हो रही मैं एक स्क्रिप्ट जब तक एक DB में कुछ पंक्ति अद्यतन किया जाता है इंतजार कर रहा है कि है:पायथन के MySqlDB नहीं अद्यतन पंक्ति
con = MySQLdb.connect(server, user, pwd, db)
स्क्रिप्ट शुरू होता है पंक्ति के मूल्य "running"
है, और यह इंतजार कर रहा है मूल्य "finished"
बनने के लिए
while(True):
sql = '''select value from table where some_condition'''
cur = self.getCursor()
cur.execute(sql)
r = cur.fetchone()
cur.close()
res = r['value']
if res == 'finished':
break
print res
time.sleep(5)
जब मैं इस स्क्रिप्ट को चलाता हूं तो यह हमेशा के लिए लटकता है। हालांकि जब मैं तालिका से पूछता हूं, तो पंक्ति के मान को "finished"
में बदल दिया गया है, फिर भी स्क्रिप्ट का प्रिंटआउट अभी भी "running"
है।
क्या ऐसी कोई सेटिंग है जिसे मैंने सेट नहीं किया है?
संपादित करें: पायथन स्क्रिप्ट केवल तालिका से पूछताछ करता है। तालिका में अपडेट जेएमबीसी का उपयोग करके टॉमकैट वेबपैप द्वारा किया जाता है, जो ऑटोोकॉमिट पर सेट होता है।
यह एक InnoDB है। लेकिन पायथन लिपि केवल तालिका से पूछताछ करता है। टेबल पर अपडेट जेडीबीसी का उपयोग करके टॉमकैट वेबपैप द्वारा किया जाता है, जो * ऑटोकॉमिट पर सेट है। – olamundo
मैंने व्यवहार की व्याख्या करने के लिए और विवरण जोड़े –