Sidekiq:如何为工人分配流程?

时间:2015-09-11 06:18:22

标签: ruby-on-rails-4 backgroundworker background-process sidekiq

我在Sidekiq遇到了多个工人和多个Sidekiq流程的困难。

我想为environemt运行三个sidekiq进程。

我有三个工人阶级(让我们说“worker1”,“worker2”和“worker3”)和三个sidekiq流程(让我们说“process1”,“process2”和“process3”)。

  

在我目前的结构中,工作人员正在运行任何可用的流程。但我想要的是 worker1 应该在 process1 上运行而 worker2 应该在 process2 上运行,依此类推。< / p>

我对实现它感到困惑,如果我知道如何将工人设置为特定的sidekiq流程,我会很高兴。

Sidekiq流程是:

process1: bundle exec sidekiq -q default
process2: bundle exec sidekiq -C config/myapp_sidekiq.yml
process3: bundle exec sidekiq -q process3

提前致谢...

1 个答案:

答案 0 :(得分:1)

您指定进程以从队列中提取作业。您指派工作人员进入队列。

process1: bundle exec sidekiq -q queue1

class Worker1
  sidekiq_options queue: 'queue1'
end

# will only be processed by process1
Worker1.perform_async