2010-07-26 24 views

Respuesta

29

El campo Connection.open habrá 1 si la conexión está abierta y 0 lo contrario. Entonces usted puede decir

if conn.open: 
    # do something 
+3

, de hecho, no funciona para mí. incluso si conn.open es verdadero, aún arrojaría una excepción "El servidor se ha ido" cuando trato de hacer la consulta después de un largo tiempo de inactividad. –

+5

@Walty: el atributo 'conn.open' le dirá si la conexión se ha cerrado explícitamente o si se ha detectado un cierre remoto. Sin embargo, siempre es posible que intente emitir una consulta y, de repente, se descubre que la conexión se ha entregado; no hay forma de detectar esto antes de tiempo (de hecho, puede suceder durante el proceso de emisión de la consulta), por lo que lo único verdaderamente seguro es envolver sus llamadas en un bloque try/except. –

+4

@EliCourtwright: ¿cuál es el tipo de excepción que se lanza si falla una 'prueba' de un error de mysql? – sadmicrowave

Cuestiones relacionadas