最近のRailsは1.daysとか3.minitusなどといった便利メソッドが、Fixnumでなく、ActiveSupport::Durationを返すようになっています。みなさんも便利に使っていると思いますが、これをtimeout()と組み合わせるとひどい目に遭うので注意してください。 # ダメな例 timeout(5.seconds) do sleep 10 puts "10秒たったんですケド" end # => 10秒たったんですケド これはタイムアウトが効きません。めんどうがらずに#to_iしてから使いましょう。 timeout(5.seconds.to_i) do sleep 10 puts "10秒たったんですケド" end # => Timeout::Error起こる 原因も分かったので、しかるべきところに相談しようと思うのですが、ちょっと帯域が埋まっていて動けそうにないので