2013(約6年前)今日のお昼休み、会社の食堂で実装してREADME書いてブログ書いて慌てた感満載でEbisuConnectionをリリースしましたが、案の定、スレーブサーバの設定にRails.envの指定ができないという不具合が存在していました。家に帰ってきて娘をお風呂に入れてミルクをあげて笑わせて抱っこして寝かしてつけてから、ようやくコーヒーをいれてダイニングテーブルに座ってMacbookAirを広げてEbisuConnectionを見直しました。https://github.com/tsukasaoishi/ebisu_connection/tree/v0.0.3まず、config/slave.yamlの設定に、Railsのenvironmentを指定できるようになりました。30サービスを提供するAPサーバと、バッチを実行するサーバとでは、使用するスレーブサーバのグループを分けたいときもあると思います。"batch"というように指定しておけば、そのグループのスレーブサーバ群を使用するようになります。スレーブサーバ群の設定ファイル名自体を以下のようにして変更可能です。"config/slave_db.yml")EbisuConnectionはスレーブサーバ群の設定の変更を、動的に取り込むことができますが、ざっくり説明すると以下のような動作を行います。前回確認時から1分以内の場合は何もしない1分以上が経過していた場合は、config/slave.yamlのタイムスタンプを確認Rails起動時の設定を読み込んだときのタイムスタンプと違っている場合、現在の設定値を読み直す全コネクションを切断する2,の手順で確認を行う閾値である、「1分間」はデフォルト値です。以下のようにすれば、好きな間隔に変更できます。スレーブサーバ群を利用できる、EbisuConnectionを作りましたEbisuConnectionにスレーブ自動切り離し機能をつけました。