I decided against the “try to talk to mysql and reconnect if it fails” approach because it seemed like Zend_Db_Adapter will just return the same (lost) connection if it thinks it already has a connection object. For this application, where a batch of things happens, then the script may wait a long time before the next batch job, I figured it made more sense to just disconnect between jobs than to leave the connection lying around, potentially for ages.