ruby - 如何在特定队列中推送作业并使用 sidekiq 限制工作人员数量?

标签 ruby resque jobs sidekiq worker

我知道我们可以做到:

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/

相关文章:

resque - 如何为多个进程创建一个 monit 循环来监控?

java - 寻找基于 no-cron 的 Java 调度程序

ruby - ri 有空文件 – Ubuntu 11.10, Ruby 1.9

c - 如何在 C 中获取 Ruby 对象的类?

ruby - 如何比较忽略大小写的字符串

cron - 为什么在 kubernetes cron 作业中可能会创建两个作业,或者可能不会创建作业?

jenkins - 如何获取在特定时间运行的 Jenkins 构建列表?

ruby - 如何查看哪种方法运行得更快

ruby - rake 重新请求 :work fails with simple example

nginx - Gitlab:运行 unicorn 的问题,Resque with Passenger/Nginx