Ho uno script che attende fino a qualche riga in un db viene aggiornato:Python non sempre aggiornato fila
con = MySQLdb.connect(server, user, pwd, db)
all'avvio dello script il valore della fila è "running"
, e attende per il valore di diventare "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)
Quando eseguo questo script si blocca per sempre. Anche se vedo che il valore della riga è stato modificato in "finished"
quando interrogo la tabella, la stampa dello script è ancora "running"
.
C'è qualche impostazione che non ho impostato?
MODIFICA: lo script python interroga solo la tabella. L'aggiornamento alla tabella viene eseguito da una webapp tomcat, utilizzando JDBC, impostata su autocommit.
È un InnoDB. Ma lo script python interroga solo la tabella. L'aggiornamento alla tabella viene eseguito da una webapp tomcat, utilizzando JDBC, che * è * impostato su autocommit. – olamundo
Ho aggiunto ulteriori dettagli per spiegare il comportamento –