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