我正在寻找具有以下能力的优秀后台作业处理器,
我正在研究Resque,DJ,Beanstalkd的几个选项(尚未完全探索) 我在Amazon EC2中拥有我的生产环境(如果这有助于更好的解决方案)
请建议我哪个是一个不错的选择,除了这些以外人们现在使用的东西还有吗?
答案 0 :(得分:4)
我衷心推荐sidekiq - 它非常灵活,它使用的资源远少于Resque或DelayedJob。
它确实需要redis(如Resque),但redis对任何Rails项目都是有价值的补充,因为它可以作为会话存储和缓存重用。我们的主要数据库是MySQL,我们部署到EC2 :-)我们过去曾使用过延迟的工作和救援,但发现他们使用的资源有问题且很重。 Sidekiq使用线程和单个sidekiq工作者与几个DJ / Resque工作者一样高效。这是项目自述文件的一个有趣部分,我可以证实:
你会发现你可能需要50个200MB的重新启动流程来挂钩你的 CPU,而一个300MB的Sidekiq进程将挂起相同的CPU和 执行相同数量的工作。请参阅我在Resque上发表的博客文章 内存效率以及我如何缩小Carbon Five客户端的能力 将农场从9台机器恢复到1台机器。
总结一下: