Heroku delayed_job依赖项

时间:2013-08-17 15:40:59

标签: ruby-on-rails heroku delayed-job

我正在heroku上运行一个应用程序,我想执行map / reduce样式操作,在那里我可以向工作人员解雇工作,然后一旦结果完成,就开始执行裁减工作。

这意味着我需要将一些(减少)工作称为依赖他人(地图)。

我可以使用heroku实现这一目标吗?

我看到了这个分叉,但没有积极开发。 https://github.com/mceachen/delayed_job

例如,分布式合并排序 - 具有排序作业和合并作业以及合并作业取决于排序作业中的数据。

1 个答案:

答案 0 :(得分:0)

DelayedJob已经分散了很多,而且回购可能会产生误导。它仍然通过这个仓库积极使用和开发:

https://github.com/collectiveidea/delayed_job

我相信DelayedJob可以支持您的要求。您可以启动heroku worker来运行rake jobs:work,这将启动工作人员对DelayedJob队列中的作业条目进行大咀嚼。

a)如果可以确保您的排序作业和合并作业按所需顺序进入DelayedJob队列,那么您的出列工作人员可以交错排序和合并作业的处理,因为合并作业依赖于刚刚发生的排序工作。

b)排序作业和合并作业是否可以打包成一个“作业”,其中一个工作人员将这对操作作为一个整体出列,并对它们进行处理?如果你想扩大你的heroku工作者的数量并让多个并发的DelayedJob工作人员同时在你的DJ队列中咀嚼,这将是一个更好的解决方案。