Efectivamente, el método timer() sirve para que el evento timer se ejecute periodicamente, pero, a mi entender, los dos ejemplos que has puesto no son adecuados.
1.- Cuando una aplicación se conecta a la base de datos, lo normal es que siga conectada, y en el caso de que se produzca una desconexión ya te darás cuenta cuanda hagas alguna operación, ¿para qué vas a mirar cada x minutos si sigues conectado?
2.- Grabar datos cada x minutos. ¿Qué pasa si la grabación se hace cuando el registro está a medio terminar, o con datos incompletos? Lo normal es que el usuario decida cuando grabe y antes de grabar se haga algunas comprobaciones (ya sabes rango de fechas, datos obligatorios, etc)
Un saludo.