0

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

这意味着我需要指出一些(减少)工作依赖于其他工作(地图)。

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

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

例如,分布式合并排序——具有排序作业、合并作业和合并作业取决于来自排序作业的数据。

4

1 回答 1

0

DelayedJob 已经被分叉了很多,并且 repos 可能会产生误导。它仍在通过此 repo 积极使用和开发:

https://github.com/collectiveidea/delayed_job

我确实相信 DelayedJob 可以支持您的要求。您可以启动 heroku workers to run rake jobs:work,这将启动一个 worker 咀嚼 DelayedJob 队列中的作业条目。

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

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

于 2013-08-17T20:33:26.630 回答