mysql_auto_reconnect
FemoはFastCGIで動かしているのですが、FastCGIで最後に悩んだのは、しばらくアクセスがないと(開発中など)MySQLのコネクションが切れて、
Caught exception in engine "DBD::mysql::st execute failed: MySQL server has gone away
などとエラーがでてしまうところです。再接続してくれません。
いままで気にもしなかったのですが、普通のCGIやmod_perlで動かしている場合には、DBD::mysqlみるとmysql_auto_reconnectというフラグが自動的にOnになります。
FastCGI(Catalystの方?)では$ENV{GATEWAY_INTERFACE}も$ENV{MOD_PERL}もないので、どうもmysql_auto_reconnectを自分でOnにしないとだめなようです。
Class::DBIでは
__PACKAGE__->connection('DBI:mysql:*','*','*',{mysql_auto_reconnect=>1});
こんな形です。
Femoは想定外にアクセスをいただいてます。ありがとうございます。
少々緊張しております。