Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/10/2011, 21:35
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ejecutar procedimiento mientras haya conexión

Toda conexión abierta en MySQL pasa a estado de sleep cuando no se ha cerrado adecuadamente, y normalmente, una vez pasado un determinado tiempo, la conexión se cae. Cierra.
En términos generales, no puedes crear un stored procedure que haga una limpieza de una conexión al perderse el enlace, porque MySQL no tiene ni recursos ni capacidades para programar eso. Lo más que puedes hacer es crear algún programa residente en el servidor, y que con las Tareas Programadas de Windows, o el crontab de Linux, limpie los procesos dormidos o las conexiones que tengan más de cierto tiempo sin actividad.
En ambos casos, no se trata de algo que hagas por SQL o en MySQL. Son cosas que se programan por fuera del DBMS.
La única opción que podría darte alguna solución sería usar EVENTs, si usas MySQL 5.1.x o superior, para crear un proceso que obtenga la lista de procesos dormidos. Pero hasta lo que sé, no puede recuperarlos como tabla, por lo que no los puede manjear como dato, y si no los puede manejar como dato, pues no puede matar los procesos...

Creo que deberías dejar de perder el tiempo y ver cómo crear un programa en C++ que pueda hacer lo que necesitas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)