Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Python:MySQL:Manipulando tempos limite


Eu tentei a abordagem do Crasched, que me levou a um novo OperationalError:

OperationalError: (2013, 'Lost connection to MySQL server during query')

Minha solução final foi primeiro tentar o ping e, se outro OperationalError for gerado, reconectar e recriar o cursor com a nova conexão, assim:
try:
    self.connection.ping(True)
except MySQLdb.OperationalError:
    self.connection = MySQLdb.connect(
        self.db_host,
        self.db_user,
        self.db_passwd,
        self.db_dbase,
        self.db_port)
    # reconnect your cursor as you did in __init__ or wherever    
    self.cursor = self.connection(
        MySQLdb.cursors.DictCursor)

De volta aos negócios!

Python 2.7, MySQL 5.5.41