Mat*_*rix 6 ruby jobs worker resque sidekiq
我知道我们可以这样做:
sidekiq_options queue: "Foo"
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,它只是一个队列中的Worker:"Foo".
我需要在特定队列中分配一个Job(而不是Worker).使用Resque很容易:
Resque.enqueue_to(queue_name, my_job)
Run Code Online (Sandbox Code Playgroud)
此外,对于并发问题,我需要将每个队列上的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
Run Code Online (Sandbox Code Playgroud)
但是你必须在 config/sidekiq.yml 中声明你的 queue_name
| 归档时间: |
|
| 查看次数: |
4128 次 |
| 最近记录: |