Hacer:
con.query('SET GLOBAL connect_timeout=28800')
con.query('SET GLOBAL interactive_timeout=28800')
con.query('SET GLOBAL wait_timeout=28800')
Significado del parámetro (tomado de MySQL Workbench in Navigator: instancia> Archivo de opciones> Tab "Networking"> Sección "Configuración de tiempo de espera")
- Connect_timeOut: Número de segundos El servidor MYSQLD espera a un paquete de conexión antes de responder con 'Handshake malo'
- interactive_timeout Número de segundos El servidor espera la actividad en una conexión interactiva antes de cerrarla
- wait_timeout Número de segundos El servidor espera la actividad en una conexión antes de cerrarla
BTW: 28800 segundos son 8 horas, por lo que durante un tiempo de ejecución de 10 horas, estos valores deben ser realmente más altos.