我看到Sidekiq允许我将工作人员分配到特定队列。我想要的是能够在排队运行队列时告诉工作人员(相对于工作人员全局设置)。
这可能吗?
案例场景:在我的数据的每日更新作业期间,我想将此方法排入低优先级队列。当新用户进入系统并且我想立即更新他的数据时,我想调用相同的方法,但是在优先级队列中运行它。
我是否必须创建2个不同的工作人员?
提前致谢!
答案 0 :(得分:4)
很简单,只需使用较低级Sidekiq::Client
API而不是perform_async
:
Sidekiq::Client.push('class' => MyWorker, 'args' => [1, 2, 3], 'queue' => 'low')