1

有没有办法在 BJ 中设置作业并确保某个“类型”的 2 个没有同时运行?

我们正在运行 24 只独角兽,它将允许 BJ 为其中的每一个启动。这不是什么大不了的 b/c 我们喜欢多个作业处理程序淘汰后台任务。数据导入例外。我们希望能够告诉它一次不要运行超过一个。

这在 BJ 中是否可能,还是我们应该转向类似 resque 的东西?

4

1 回答 1

1

一种方法是将您的数据导入作业限制在某个优先级,然后确保只有一个延迟的作业正在获取该优先级的作业。例如,如果您想让所有其他作业从优先级 0 运行到 99,并让您的数据导入作业以优先级 100 运行,那么您可以让所有延迟作业工作人员从 min_priority 0 到 max_priority 99然后你可以让一个延迟的作业工作者从 min_priority 100 运行到 max_priority 100,确保只有一个工作者在运行这些作业。这将确保没有两个导入数据作业(优先级 100)同时运行。

于 2011-02-10T06:23:57.680 回答