如何为 sidekiq 配置指定不同的并发队列?
How can I specify different concurrency queues for sidekiq configuration?
我有以下 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
并发是 Sidekiq 进程的 属性,表示它启动了多少个线程。你不能让一个 Sidekiq 进程在两个不同的并发运行;但是,您可以使用单独的配置文件启动两个 Sidekiq 进程:
bin/sidekiq -C config/sidekiq_one.yml
bin/sidekiq -C config/sidekiq_two.yml
但是,根据您的动机,您最好只使用一个 Sidekiq 进程并在其中按优先级排序队列。这样一来,当另一个进程的队列不断增长时,一个进程中的任何工作人员都不会闲置。虽然取决于你的情况,例如如果第二个队列的工作很少但很重要,这样的解决方案确实有意义。
我有以下 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
并发是 Sidekiq 进程的 属性,表示它启动了多少个线程。你不能让一个 Sidekiq 进程在两个不同的并发运行;但是,您可以使用单独的配置文件启动两个 Sidekiq 进程:
bin/sidekiq -C config/sidekiq_one.yml
bin/sidekiq -C config/sidekiq_two.yml
但是,根据您的动机,您最好只使用一个 Sidekiq 进程并在其中按优先级排序队列。这样一来,当另一个进程的队列不断增长时,一个进程中的任何工作人员都不会闲置。虽然取决于你的情况,例如如果第二个队列的工作很少但很重要,这样的解决方案确实有意义。