Si desea mantener la conexión abierta, simplemente llame
mysql::ping $dbhandle
de vez en cuando.
Esto se puede hacer con algo como esto:
proc keepMySqlOpen {dbhandle} {
mysql::ping $dbhandle
after 2000 [list keepMySqlOpen $dbhandle]
}
....
set dbh [mysql::open ...]
keepMySqlOpen $dbh
...
Otra opción es usar mysql::ping
antes de acceder a la base de datos, lo que debería hacer según el manual de mysqltcl
vuelva a conectar si es necesario. Esto podría ser lo mejor de ambos mundos (deje que la conexión se agote si no hay mucha actividad, manténgala abierta de lo contrario).