我知道我们可以做到:
sidekiq_options queue: "Foo"
但在这种情况下,Worker 只分配给一个队列:“Foo”。
我需要在特定队列中分配作业(而不是 worker )。 使用 Resque 很容易:
Resque.enqueue_to(queue_name, my_job)
另外,为了并发问题,我需要限制每个队列的Worker数量为1。
我该怎么做?
最佳答案
您可能会使用 https://github.com/brainopia/sidekiq-limit_fetch
然后:
Sidekiq::Client.push({
'class' => GuidePdfWorker,
'queue' => queue_name,
'args' => [my_job]
})
Sidekiq::Queue[queue_name].limit = 1
但是你必须在 config/sidekiq.yml 中声明你的 queue_name
关于ruby - 如何在特定队列中推送作业并使用 sidekiq 限制工作人员数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20080047/