1

適切と思われるワーカーを 1 つのジョブで生成するのではなく、resque ジョブを自分自身でスケジュールすることにマイナス面はありますか?

ここに例があります

アプローチ 1:

class WorkerJob

  self.peform(model_id)
    do_heavy_stuff(model_id)
    Resque.enqueue_in(3.days, WorkerJob, model_id)
  end
end

またはこのように

アプローチ 2:

class WorkerJob1

   self.perform(model_id)
     do_heavy_stuff(model_id)
   end
end


class WorkerScheduler
   self.perform
     find_appropriate_ids_for_this_job.each |model_id|
       Resque.enqueue(Resque::WorkerJob1, model_id)
     end
   end
end

WorkerScheduler は毎日実行されるようにスケジュールされています。利点があるので、1 にアプローチする大きな欠点があるかどうかを知りたいと思いました。

redis が適切にバックアップおよびレプリケートされていることを確認することには大きな問題があると思いますが、それでもそれは必要ではないでしょうか?

4

1 に答える 1

0

それを補完するために、redis_failover を使用できます: https://github.com/ryanlecompte/redis_failover

于 2012-04-17T23:41:16.497 に答える