2014-12-23
Perl Beginners #16 で DB の自動再接続の話をしました
当日に LT 枠が余っていたっぽいので、急遽スライドを仕立てて、最近気になっていた ORM やウェブアプリで DB の自動再接続を する際の注意点について話しました。
スライドはこちら(↓)
全然ビギナー向けっぽくなくて、ちょっと申し訳ない感じではありますが、スライドにも書いたのですが、この情報を見つつ、Teng の自動再接続周りの コードを読むと何やってるか理解できて勉強になるんじゃないかな、と思います。
Otogiri の自動再接続対応は、遅くともお正月休み中、できれば年内にはやってしまいたいなー、と思っておりますので、乞うご期待!
2014-12-30 追記
この記事を書いた後、このへんに造詣の深い @nihen さんから tweet もらいました
自動再接続の話だとあとは DBIx::Connector をみるとよいとおもいます。see also: https://t.co/MoVr7bdi16 https://t.co/m8yceDnGCr / “Perl Beginne…” http://t.co/1U6F7MVhvi
— Masahiro Chiba (@nihen) 2014, 12月 23
と、いうわけで、DBIx::Connector や Teng の issue なんかをいろいろ見てみました。
Teng は一時期は DBIx::Connector を参考にした fixup reconnect をサポートしていた(?ブランチだけ?)のだけど、そういうののハンドリングはアプリでやった方が良さそう、 ということで、今の実装(トランザクションの対応と fork/prefork の対応)になってるっぽい感じですね。
あと、Otogiri の対応もとりあえずやった。けれども、めっちゃ自信ないので、 しばらく様子をみて問題なさそうならマージするかなー、と思ってます。