Error de Mysql y como arreglarlo

Ariel Nardelli arn_python en yahoo.com.ar
Mar Dic 28 23:17:53 CET 2004


Hola a todos!.

Estoy teniendo un problema con mysql desde python.
Tengo que hacer actualizaciones intensivas sobre la base o sea hago 
varias actualizaciones y en algun momento de las actualizaciones al azar 
en cualquier momento se me corta el proceso con este error...

* Mysqlerror : -(6011)- E: 2013 Lost connection to MySQL server during query
* Mysqlerror : -([1L, 3221506L, 6011])- E: 2013 Lost connection to MySQL 
server during query

Segun puedo entender es porque se me cae el servidor mysql y en realidad 
no es que se para sino que deja de atender porque esta ocupado.

La idea mia es si tengo este error detener la actualizacion por 5 
segundos y luego volver a intentar actualizar la base ya que pasado un 
ratito mysql sigue atendiendo y corriendo sin problemas, el tema mas 
bien es que para por sobrecarga.

Esta es mi rutina que graba los datos en mysql...

def sql01(db,sql,k):
    # Procesa sobre Mysql para procesos que no devuelvan datos!!!
    """ Hace una operacion sobre Mysql """
    try:
        if k == 'NULL': # Es cuando no viene los datos del sql aparte.
            db.execute(sql)
        else:
            db.execute(sql,k)
        return 0
    except db.MySQLError, e:
        print e
        linea = "* Mysqlerror : " + str(e[0]) + " " + e[1]
        gl(linea)
        print linea
        return -1

Mi idea es en el except  preguntar por el error y si es ese el error el 
2013 hacer una pausa de 5 segundos y despues reintentar grabar...
Pero hay 2 cosas que no se hacer y por eso pido ayuda..
una es hacer la pausa con que comando se hace pausa de xx segundos?
y la otra es como hacer para despues de la pausa vuelva a intentarlo o 
sea vuelva a try: para reintentar la grabacion, algo asi como un goto 
que en python no existe.. :)

Alguien puede tirarme una mano?, ya que la maquina es chica en donde 
esta el mysql este va a ser un error normal mas de una vez va a quedar 
en espera porque la pobre maquinita no da a vasto para lo que quiero 
hacer asi que es normal que me largue este tipo de errores.

Gracias a todo por la ayuda!!!
FELIZ 2005!

Ariel




Más información sobre la lista de distribución Python-es