2013-05-07 88 views
0

我有一個Rails應用程序,基本上抓取了很多RSS提要。每個Feed的抓取時間間隔均爲3小時。Ruby on Rails - 延遲工作 - 返回工作編號

問題是,由於它每天都會抓取越來越多的Feed(越來越多地被添加),有時候3個小時已經完成,然後Feed纔會被延遲的工作抓取。這導致越來越多的工作。我希望我的問題清楚。

所以我想要做的是基本上保存每個飼料的當前作業ID,並檢查作業是否已經完成,然後將該飼料的新作業添加到隊列中。

什麼是最好的方法來做到這一點?

回答

0

將例如「in_progress」的布爾變量添加到您的延遲作業表中。總是在作業開始時,將此屬性設置爲true。如果作業完成,請將其更新爲false。只有在「in_progress」屬性爲false的情況下才能啓動作業,否則請跳過此提要。