浏览 2224 次
锁定老帖子 主题:resque-restriction
精华帖 (0) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-04
我上周写了一个resque的扩展resque-restriction,resque是基于redis的ruby实现的background job系统(github实现和使用的)。resque-restriction增加了两个功能: 1. 它可以限制特定的job在一段时间的执行次数。比如,它可以限制某个job在一天内只能执行1000次,每小时只能执行100次,每300秒只能执行30 次。 2. 它会在下一个时间段执行上一个时间段没能执行的job(超过了限制次数)。比如,你限制每天只能执行1000次发送email的job,如果有一天系统生成了1010个email发送的job,那么这一天只执行1000个email发送的job,剩下的10个email发送的job将在第二天执行。 resque-restriction需要在resque 1.7.0下使用。 当一个系统有email邀请的resque job时,resque-restriction非常有用,因为发送邮件太频繁了会被当作垃圾邮件。 给大家一个使用resque-restriction的例子看看: class InvitationJob < Resque::Plugins::RestrictionJob restrict :per_day => 1000, :per_hour => 100, :per_300 => 30 end 这意味着,InvitationJob每天的执行次数不会超过1000次,每个小时的执行次数不会超过100次,每300秒的执行次数不会超过30次,很简单吧。 项目的地址是:http://github.com/flyerhzm/resque-restriction 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |