raf*_*mvc 64 ruby-on-rails beanstalkd resque redis
这是我的需求:
Resque和beanstalkd不执行enqueue_in.
有一个插件(resque_scheduler)可以做到这一点,但我不确定它是多么稳定.
我们的环境是关于亚马逊的,他们为亚马逊实例免费推出了beanstalkd,这对我们来说是一个加分,但我仍然不确定这里最好的选择是什么.
我们运行rails 2.3但是我们很快就将其加速到rails 3.0.3.
但这里我最好的选择是什么?我错过了另一个更好地完成这项工作的宝石吗?
我觉得我现在唯一可行的选择是resque_scheduler.
编辑:
Sidekiq(https://github.com/mperham/sidekiq)是另一个你应该检查的选项.
and*_*rea 137
对于我的项目,我会对rails2和3中的collectiveidea/delayed_job感到非常舒服.我不知道beanstalkd,但我会尽快尝试:-).我已经按照resque文档中的建议进行了操作.我会举报.
Resque vs DelayedJob
Run Code Online (Sandbox Code Playgroud)
Resque如何与DelayedJob相比,为什么你会选择一个而不是另一个呢?
如果您正在进行Rails开发,那么您已经拥有了一个数据库和ActiveRecord.DelayedJob非常容易设置,效果很好.GitHub使用它持续了好几个月来处理近2亿个工作岗位.
选择Resque if:
选择DelayedJob如果:
选择Beanstalkd如果:
Resque绝不是一个"更好"的DelayedJob,因此请确保选择最适合您应用的工具.
enqueue work
-------------------------------------------------
delayed job | 200 jobs/sec 120 jobs/sec
resque | 3800 jobs/sec 300 jobs/sec
rabbitmq | 2500 jobs/sec 1300 jobs/sec
beanstalk | 9000 jobs/sec 5200 jobs/sec
Run Code Online (Sandbox Code Playgroud)
祝你今天愉快!
PS有关于resque,Delayed Job(修订版)和Beanstakld的RailsCast.看一看!
PPS我最喜欢的选择是现在的Sidekiq(非常简单,快速和高效的简单工作),看看这个页面进行比较.
Amazon Beanstalk不是Beanstalkd.
Beanstalkd - 队列 - 确实有延迟的作业,在给定的秒数过去之前不会保留在队列之外.如果这Enqueue_in(10.hours, ... )意味着什么,那么计算秒数只是语法糖,而在此之前不能提供工作.
只是一个小注释:delayed_job 3.0+支持命名队列
object.delay(:queue => 'tracking').method
Delayed::Job.enqueue job, :queue => 'tracking'
handle_asynchronously :tweet_later, :queue => 'tweets'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23261 次 |
| 最近记录: |