0

我有一个 Rails 应用程序,它基本上可以抓取很多 RSS 提要。每个提要都有一个抓取间隔,例如 3 小时。

问题是,因为它每天都在抓取越来越多的提要(越来越多的被添加),有时 3 个小时就结束了,提要实际上被延迟的工作抓取了。这导致越来越多的工作。我希望我的问题很清楚。

所以我想要做的基本上是保存每个提要的当前作业 ID,并在将该提要的新作业添加到队列之前检查作业是否已经完成。

最好的方法是什么?

4

1 回答 1

0

在延迟作业表中添加一个布尔变量,例如“in_progress”。总是在作业开始时,将此属性设置为 true。如果作业完成,请将其更新为 false。如果“in_progress”属性为假,则仅启动作业,否则跳过此提要。

于 2013-05-07T11:45:59.257 回答