ネットで調べるとそれらしい情報出てくるけど大体Mongoid 2の情報で古くて使えない。 結局git cloneしてコードを追っていくのが一番マシという決断をしてそうしてみた。
そんでmongoid, mopedのコードを追っていった結果、 mongoid.ymlに
development: sessions: default: hosts: - localhost database: vimage_development options: timeout: 1 max_retries: 1
みたいな書き方をすればoptionsがMoped::Cluster, Mopped::Node, Mopped::Connectionあたりに引き回されていくっぽいということが分かりました。
connect_timeout相当の部分がtimeout, max_retriesで、Moped::Cluster, Mopped::Nodeに引き回されてるように見えた。 timeoutするまで待ってmax_retries回再試行する?っぽい感じです。なんか他にも色々制御できるオプションがありそうだった。 max_retriesを指定しなかった場合には何故かmax_retries: 20とかになってました。
op_timeout相当の部分はまたtimeoutで、これもまたMopped::Connectionに引き回されて… とか書いてる内にこれもやっぱりconnect_timeout相当な気がしてきた。 どうすればop_timeout相当の設定ができるんだろう。もしかしたらそもそもそんな機能無いかもしれない。
結局良くわからんけどめんどいのでここらへんで切り上げる。 誰かなんか分かってたら教えて下さい。