【问题标题】:How can I specify different concurrency queues for sidekiq configuration?如何为 sidekiq 配置指定不同的并发队列?
【发布时间】:2015-12-14 12:40:37
【问题描述】:

我有以下 sidekiq.yml 配置文件,但我不确定如何构建一个并发较低的单独队列。我该怎么做?

---
:concurrency: 25
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
  - default
  - [high_priority, 2]
  - [import_queue, 3]
  - [user_queue, 4]
:daemon: true

我想做类似以下的事情,

---
:concurrency: 25
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
  - default
  - [high_priority, 2]
  - [import_queue, 3]
  - [user_queue, 4]
:daemon: true
---
:concurrency: 5
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
  - small_queue
:daemon: true

【问题讨论】:

    标签: ruby-on-rails concurrency yaml sidekiq


    【解决方案1】:

    并发是 Sidekiq 进程的一个属性,表示它启动了多少线程。你不能让一个 Sidekiq 进程在两种不同的并发上运行;但是,您可以使用单独的配置文件启动两个 Sidekiq 进程:

    bin/sidekiq -C config/sidekiq_one.yml
    bin/sidekiq -C config/sidekiq_two.yml
    

    但是,根据您的动机,您最好只使用一个 Sidekiq 进程并在其中按优先级排序您的队列。这样,一个进程中的任何工作人员都不会闲置,而另一个进程的队列正在增长。虽然取决于您的情况,例如如果第二个队列的工作很少但很重要,那么这样的解决方案确实有意义。

    【讨论】:

    • 我想要配置该设置的原因是为了避免杀死我可能会或可能不会从...抓取信息的服务器;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多