Det visar sig att problemet ligger i mysql2 pärla. Den gör det här riktigt häftiga ...
I huvudsak ersätter den ett eget standardvärde för wait_timeout på cirka 25 dagar (2147483s) som wait_timeout-värdet (förmodligen sessionsversionen av wait_timeout) som anslutningen använder, vilket i princip åsidosätter vilken inställning vi än anger på servern.
Genom att ställa in ett wait_timeout:värde i config/database.yml fungerar timeouten som den ska. När anslutningen avbryts får du dock "mysql server has gone away"-fel.
Genom att ange en medföljande återanslut:sant alternativet i database.yml, varje gång anslutningen återanvänds återställs anslutningens timer, MEN efter det använder den GLOBAL wait_timeout-inställningen från mysql direkt
Hoppas detta hjälper någon