这是我的需求:
Resque和beantalkd不执行enqueue_in。
有一个插件(resque_scheduler)可以做到,但是我不确定它是否稳定。
我们的环境是在Amazon上,他们免费为那些拥有Amazon实例的人推出了beantalk,这对我们来说是一个加分,但我仍然不确定这里最好的选择是什么。
我们运行rails 2.3,但很快将其推向rails 3.0.3。
但是我在这里最好的选择是什么?我是否错过了另一个能做得更好的宝石?
我觉得现在唯一可以实际使用的选择是resque_scheduler。
编辑:
Sidekiq(https://github.com/mperham/sidekiq)是您应该检出的另一种选择。
对于我的项目,在rails2和3中,我对collectiveidea / delayed_job感到非常满意。我不知道豆荚缠豆,但我会尽快尝试:-)。我遵循了resque文档中的建议。我会报告。
Resque vs DelayedJob
Resque与DelayedJob相比如何?为什么选择一个而不是另一个?
如果要进行Rails开发,则已经有一个数据库和ActiveRecord。DelayedJob超级容易设置,效果很好。GitHub用了几个月的时间来处理近2亿个工作。
如果满足以下条件,则选择“重新排序”
如果满足以下条件,则选择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
祝你今天愉快!
PS有一个关于RailsCast resque,延迟工作(修订版)和Beanstakld。看一看!
PPS我最喜欢的选择是Sidekiq(非常简单,快速且高效,适合简单工作),请查看此页面进行比较。