Конфигурация Sidekiq для нескольких сред

Я просмотрел несколько источников и пробовал разные сценарии, но не могЭто не решает, следовательно, проблему. Пожалуйста, укажите мне в правильном направлении.

Как и у всех, у меня есть 3 env (разработка, постановка и производство).

У меня есть следующее в моем файле sidekiq.yml

# Options here can still be overridden by cmd line args.
#   sidekiq -C config.yml  
---
:verbose: false
:namespace: xyz
:logfile: log/sidekiq.log
:concurrency:  25
:strict: false
:pidfile: tmp/pids/sidekiq.pid
:queues:
  - [stg_xyz_tests_queue, 10]
  - [stg_default_xyz_queue, 2]
  - [stg_xyz_default_queue, 3]
development:
  :verbose: true
  :concurrency:  15
  :queues:
    - [dev_xyz_queue, 10]
    - [dev_default_xyz_queue, 2]
    - [dev_xyz_default_queue, 3]
staging:
  :queues:
    - [stg_xyz_queue, 10]
    - [stg_default_xyz_queue, 2]
    - [stg_xyz_default_queue, 3]
production:
  :queues:
    - [prod_xyz_queue, 10]
    - [prod_default_xyz_queue, 2]
    - [prod_xyz_default_queue, 3]

С этим я надеялся, что когда я запускаю sidekiq с командой

RAILS_ENV=#{rails_env} bundle exec sidekiq -C config/sidekiq.yml

что он соберет все значения из файла конфигурации и запустит sidekiq с соответствующими очередями и файлом журнала в log / sidekiq.log, но это нет работа. Sidekiq запускается, но он создает только stg_xyz_tests_queue, stg_default_xyz_queue и stg_xyz_default_queue независимо от того, какую среду мы используем.

Другой подход, который я попробовал, заключался в использовании следующего кода в config / средах / development.rb

  #configure Sidekiq for dev environment
  Sidekiq.configure_server do |config|
    config.options[:namespace] = "xyz"
    config.options[:concurrency] = 25
    config.options[:verbose] = true
    config.options[:strict] = false
    config.options[:logfile] = "log/sidekiq.log"
    config.options[:pidfile] = "tmp/pids/sidekiq.pid"

    queues = Array.new
    10.times do
      queues.push "dev_xyz_queue"
    end

    2.times do
      queues.push "dev_default_xyz_queue"
    end

    3.times do
      queues.push "dev_xyz_default_queue"
    end

    config.options[:queues] = queues
    puts "Sidekiq server config options for development => #{config.options.to_yaml}"
  end

При этом очереди создаются нормально, но файл журнала не создается и не записывается, и мне нужно продублировать этот код для всех трех сред.

Каков наилучший способ заставить Sidekiq работать без проблем для моей установки? Спасибо за вашу помощь заранее !!!

Ответы на вопрос(3)

Ваш ответ на вопрос