【发布时间】:2016-03-08 06:28:02
【问题描述】:
我看到 Sidekiq 允许我将工作人员分配到特定队列。我想要的是能够在排队期间告诉工作人员要在哪个队列中运行(而不是在工作人员上全局设置)。
这可能吗?
案例场景:在我的数据的日常更新作业中,我想将此方法排入低优先级队列。当一个新用户进入系统并且我想立即更新他的数据时,我想调用相同的方法,但在优先级队列中运行它。
我必须创建 2 个不同的工人吗?
提前致谢!
【问题讨论】:
标签: sidekiq
我看到 Sidekiq 允许我将工作人员分配到特定队列。我想要的是能够在排队期间告诉工作人员要在哪个队列中运行(而不是在工作人员上全局设置)。
这可能吗?
案例场景:在我的数据的日常更新作业中,我想将此方法排入低优先级队列。当一个新用户进入系统并且我想立即更新他的数据时,我想调用相同的方法,但在优先级队列中运行它。
我必须创建 2 个不同的工人吗?
提前致谢!
【问题讨论】:
标签: sidekiq
简单,只需使用较低级别的Sidekiq::Client API 而不是perform_async:
Sidekiq::Client.push('class' => MyWorker, 'args' => [1, 2, 3], 'queue' => 'low')
【讨论】: