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