I’ve just completed migrating a client site from BackgrounDRb to delayed_job (which is a huge relief on several levels). I had hoped to complete the process this morning, but the delayed_job process kept dying on me without any apparent explanation in the usual logs.

Thankfully the RPM log in my app turned out to be capturing one vital detail – the MySQL server had “gone away”, Armed with that knowledge I was able to find this thread on github and from that Brandon’s pointer to the ‘reconnect’ option in database.yml. Setting that appears to have solved that last lingering problem.

And since it took a while to track down, it seemed worth sharing.