Rails アプリケーションのドメインロジックを共有するためにバッチでも Rails を使っているケースはあるかと思います。 先日、長時間稼働しているバッチで MySQL サーバの再起動後に MySQL client is not connected が起きたんですが、数年 Rails を使っていて初めて遭遇したエラーだったので、次の 2 点について調べてみました。 このエラーにはどう対処すべきなのか? バッチ特有の問題なのか? そもそも MySQL client is not connected とは? Mysql2 のこの辺で定義されているエラーです。 定義を見る限り、client が初期化されているにも関わらず、network socket (file descriptor) が無効な状態だとこのエラーになるみたいですね。 network socket が無効な状態になるケースですが