0

基本的に多くの RSS フィードをクロールする Rails アプリを入手しました。各フィードには、たとえば 3 時間などのクロール間隔があります。

問題は、毎日ますます多くのフィードをクロールしているため (ますます追加されている)、遅延ジョブによってフィードが実際にクロールされるまでに 3 時間が経過する場合があることです。その結果、ますます多くの仕事が生まれます。私の問題が明確であることを願っています。

したがって、私がやりたいことは、基本的に各フィードの現在のジョブ ID を保存し、そのフィードの新しいジョブをキューに追加する前に、ジョブが既に終了しているかどうかを確認することです。

それを行う最善の方法は何ですか?

4

1 に答える 1

0

たとえば「in_progress」などのブール変数を遅延ジョブ テーブルに追加します。ジョブの開始時に常にこの属性を true に設定します。ジョブが終了したら、false に更新します。「in_progress」属性が false の場合にのみジョブを開始し、それ以外の場合はこのフィードをスキップします。

于 2013-05-07T11:45:59.257 に答える