Fazer:
con.query('SET GLOBAL connect_timeout=28800')
con.query('SET GLOBAL interactive_timeout=28800')
con.query('SET GLOBAL wait_timeout=28800')
Significado do parâmetro (retirado do MySQL Workbench no Navegador: Instância> Arquivo de Opções> Tab "Networking"> Seção "Timeout Settings")
- connect_timeout.: Número de segundos O servidor MySQLD espera por um pacote de conexão antes de responder com "Handshake"
- interactive_timeout. Número de segundos que o servidor aguarda atividade em uma conexão interativa antes de fechá-lo
- wait_timeout. Número de segundos que o servidor aguarda atividade em uma conexão antes de fechá-lo
BTW: 28800 segundos são 8 horas, portanto, para um tempo de execução de 10 horas, esses valores devem ser realmente mais altos.