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 en Navigator:Instancia> Archivo de opciones> Pestaña "Redes"> Sección "Configuración de tiempo de espera")
- conexión_tiempo de espera :Número de segundos que el servidor mysqld espera un paquete de conexión antes de responder con 'Apretón de manos incorrecto'
- interactive_timeout Número de segundos que el servidor espera actividad en una conexión interactiva antes de cerrarla
- esperar_tiempo de espera Número de segundos que el servidor espera actividad en una conexión antes de cerrarla
Por cierto:28800 segundos son 8 horas, por lo que para un tiempo de ejecución de 10 horas, estos valores deberían ser más altos.