ユーザーからの要求に応じて、複数のジョブを実行する必要があります。ただし、その中で重要なのは 1 つだけです。
だから私は、のMainWorker
ようperform
な別の他のワーカーを呼び出すメソッドを持っています。Worker1
Worker2
Worker1 と Worker2 は遅延する可能性があるため、MainWorker を優先する必要があります。
これが私のPerformメソッドの外観です
class MainWorker
def perform( user_id )
User.find( user_id ).main_task
Worker1.perform_async( user_id )
Worker2.perform_async( user_id )
end
end
後でさらにサブワーカーが登場するかもしれません。これが良い習慣なのか、それとももっと良い方法があるのか知りたいです。ただし、ワーカーに基づくカスタム キュー名と優先順位を付けています。