当我们的 rails 3 应用程序向用户发送消息(电子邮件或短信)时,我们需要限制我们这样做的速率。
认为
the_list = Messages.find(someconditions)
the_list.each do |msg|
msg.send_me
end
返回数百条消息,我们 (a) 真的不希望它们一次全部在内存中,并且 (b) 不能一次将它们全部关闭。
如果我们的实际限制是每分钟发送 200 个,那么在较小的批次中“找到”它们的 Rails 方法是什么(b)限制对 .send_me 的调用以满足我们的目标发送速率
FWIW 我们在 Heroku 上运行,并且为其他目的运行了延迟作业。