Si vous voulez garder la connexion ouverte, appelez simplement
mysql::ping $dbhandle
de temps en temps.
Cela peut être fait avec quelque chose comme ceci :
proc keepMySqlOpen {dbhandle} {
mysql::ping $dbhandle
after 2000 [list keepMySqlOpen $dbhandle]
}
....
set dbh [mysql::open ...]
keepMySqlOpen $dbh
...
Une autre option consiste simplement à utiliser mysql::ping
avant d'accéder à la base de données, qui devrait selon le manuel mysqltcl
reconnecter si nécessaire. Cela pourrait être le meilleur des deux mondes (laissez la connexion expirer s'il n'y a pas beaucoup d'activité, laissez-la ouverte sinon).