sql >> Base de Datos >  >> RDS >> Mysql

Python:MySQL:Manejo de tiempos de espera

Probé el enfoque de Crasched, que me llevó a un nuevo OperationalError:

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

Mi solución final fue probar primero el ping y, si se generaba otro OperationalError, volver a conectar y recrear el cursor con la nueva conexión, así:

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 vuelta en el negocio!

Pitón 2.7, MySQL 5.5.41