rails后台任务比较

因工作需要,需要找一个[url=http://backgroundrb.rubyforge.org/]backgroundrb[/url]类似的后台程序。花了一天时间,比较了几个插件,稍微写一下心得。

这些后台程序的组成基本一致:一个队列系统加上后台执行程序。队列系统一般是数据库或者走memcached协议的[url=http://www.whomatchyou.com/articles/starling-a-ruby-persistent-queue-server-that-speaks-memcached.html]starling[/url]。所以,byebye,[url=http://backgroundrb.rubyforge.org/]backgroundrb[/url],使用drb实现队列的消息传递并不是一个好主意。

[url=http://backgroundrb.rubyforge.org/]backgroundrb[/url]还有一个问题,更新队列的时候,它使用的是悲观锁,在查询的时候会导致数据库不响应。在大访问量的情况下,这种情况是不容允许的。

使用数据库主要是[url=http://codeforpeople.rubyforge.org/svn/bj/trunk/README]background job[/url]和[url=http://trix.pl/blog/running-long-background-tasks-in-ruby-on-rails-made-dead-simple.html]background_fu[/url]。相比之下,[url=http://trix.pl/blog/running-long-background-tasks-in-ruby-on-rails-made-dead-simple.html]background_fu[/url]更简单,[url=http://codeforpeople.rubyforge.org/svn/bj/trunk/README]bj[/url]需要三张表,略微繁琐了一点。

使用[url=http://www.whomatchyou.com/articles/starling-a-ruby-persistent-queue-server-that-speaks-memcached.html]starling[/url]的就是[url=http://www.justinball.com/2008/08/18/using-starling-workling-with-ruby-on-rails/]workling[/url],这个还没有试过,准备服务器负载增大了以后再说。毕竟[url=http://www.whomatchyou.com/articles/starling-a-ruby-persistent-queue-server-that-speaks-memcached.html]starling[/url]是[url=http://www.twitter.com]twitter[/url]使用的消息系统,负载量应该没有问题。

update: [url=http://trix.pl/blog/running-long-background-tasks-in-ruby-on-rails-made-dead-simple.html]background_fu[/url]还有点小bug,有空我要提交一下patch。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值