我知道有几个插件可以进行异步处理.哪一个是最好的,为什么?
我所知道的是:
BackgrounDRb
Cameron Boot.. 9
我将把DJ(延迟工作)添加到列表中 - http://blog.leetsoft.com/2008/2/17/delayed-job-dj
github的家伙最近给了它一个很好的评论:http://github.com/blog/197-the-new-queue
我将把DJ(延迟工作)添加到列表中 - http://blog.leetsoft.com/2008/2/17/delayed-job-dj
github的家伙最近给了它一个很好的评论:http://github.com/blog/197-the-new-queue
如果你可能有几个这样的过程,并且想要排队它们,那么starling和workling看起来很有趣(参见截屏视频).
您可能也会对之前使用rake进行后台处理的截屏视频感兴趣,而对未来可能会讨论同一问题的另一个解决方案感兴趣.
某些东西是否是"最佳"解决方案,实际上取决于您试图解决的问题.在某些情况下,最好的解决方案将是最轻量级的解决方案,在其他最重量级的解决方案中.
BackgroundRb可能是功能最全的Rails后台作业处理器,但它也是最复杂的,因此需要更多的投资才能掌握它.BackgroundRb可以处理大多数用例,从简单到复杂.
我听说过Ara T. Howard的背景工作(Bj)的非常好的事情,引用自述文件是Rails的脑死亡简单的零管理后台优先级队列.这是一个更轻量级的解决方案,因此对于大多数情况而言可能优于BackgroundRb.
如果你想要的只是一个不经常的离线批处理式处理的解决方案,那么script/runner
所有Rails应用程序附带的解决方案就足够了.
对于进一步的阅读,你可能想看看HowToRunBackgroundJobsInRails从Rails的维基.