cronなどで統計処理のSQLをたくさん投げたりするときに、mysqlにあまり負荷をかけたくないので、適度にsleepを挟みながら実行させる、という処理を書くときに、perlだと、Sub::Throttleというid:kazuhookuさんのライブラリを使っていたのですが、rubyで同様のライブラリを探すとなかったので、rubyへrate_throttleという名前で移植しました。(本当はProc::Throttleにするつもりだったのですが、既にあったので....) require 'rate_throttle' 1000.times do # limit block to 10% workload. RateThrottle.throttle(0.1) do # do something. end end こんな感じで書くと、ブロックを実行した後にその実行時間が10%になるようにsle