Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何为sidekiq配置指定不同的并发队列?_Ruby On Rails_Concurrency_Yaml_Sidekiq - Fatal编程技术网

Ruby on rails 如何为sidekiq配置指定不同的并发队列?

Ruby on rails 如何为sidekiq配置指定不同的并发队列?,ruby-on-rails,concurrency,yaml,sidekiq,Ruby On Rails,Concurrency,Yaml,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 我想做如下的事情 --- :conc

我有下面的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进程的一个属性,表示它启动了多少线程。不能让一个Sidekiq进程在两个不同的并发状态下运行;但是,您可以使用单独的配置文件启动两个Sidekiq进程:

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

然而,根据您在这里的动机,您可能最好只使用一个Sidekiq流程,并按优先级排序其中的队列。这样,当另一个进程的队列在增长时,一个进程中没有工作人员处于空闲状态。尽管这取决于您的情况,例如,如果第二个队列的作业很少但非常重要,这样的解决方案是有意义的。

我想要配置该设置的原因是为了避免杀死我可能会或可能不会从中刮取信息的服务器……;)我想要配置该设置的原因是为了避免杀死我可能会或可能不会从中抓取信息的服务器…;)