我必须根据用户的请求运行多个作业。然而,其中只有一个是重要的。
所以我有一个方法,我称之为不同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
我以后可能会有更多的分工。我想知道这是否是一种好的做法,或者有更好的方法来做到这一点。但是,我将自定义队列名称和优先级分配给基于工作人员的队列名称和优先级。