Si scopre che il problema è nella gemma mysql2. Fa una cosa davvero fantastica ...
Sostanzialmente sostituisce un valore wait_timeout predefinito di circa 25 giorni (2147483s) come valore wait_timeout (probabilmente la versione di sessione di wait_timeout) utilizzato dalla connessione, sostanzialmente sovrascrivendo qualsiasi impostazione specificata sul server.
Impostando un wait_timeout:valore in config/database.yml il timeout funziona come dovrebbe. Quando la connessione viene interrotta, tuttavia, viene visualizzato l'errore "mysql server è andato via".
Specificando una riconnessione:true di accompagnamento opzione in database.yml, ogni volta che la connessione viene riutilizzata il timer della connessione viene ripristinato, MA dopodiché utilizza l'impostazione GLOBAL wait_timeout da mysql direttamente
Spero che questo aiuti qualcuno