5

ユーザーからの要求に応じて、複数のジョブを実行する必要があります。ただし、その中で重要なのは 1 つだけです。

だから私は、のMainWorkerようperformな別の他のワーカーを呼び出すメソッドを持っています。Worker1Worker2

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

後でさらにサブワーカーが登場するかもしれません。これが良い習慣なのか、それとももっと良い方法があるのか​​知りたいです。ただし、ワーカーに基づくカスタム キュー名と優先順位を付けています。

4

1 に答える 1

2

Sidekiq にはサードパーティのアドオンがいくつかあります。ここを参照してください: https://github.com/mperham/sidekiq/wiki/Related-Projects

あなたにとって役立つかもしれないものはSidekiqSuperworkerです。

于 2014-01-22T22:50:13.780 に答える