我在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
提前致谢...
答案 0 :(得分:1)
您指定进程以从队列中提取作业。您指派工作人员进入队列。
process1: bundle exec sidekiq -q queue1
class Worker1
sidekiq_options queue: 'queue1'
end
# will only be processed by process1
Worker1.perform_async