Sidekiq не обрабатывает настройки заданий в очереди с помощью Docker - PullRequest
0 голосов
/ 01 апреля 2019

Я запускаю Sidekiq в своем приложении rails для обработки фоновых заданий.

sidekiq.yml

:verbose: false
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:concurrency: 5
:queues:
  - ["queue1", 1]
  - ["queue2", 1]
  - ["queue3", 1]
  - ["queue4", 1]
  - ["queue5", 1]
  - critical
  - default
  - low
max_retries: 1

ps aux | grep sidekiq

root        48  0.0  0.0   4400  1264 ?        Ss   13:06   0:00 runsv sidekiq
root     15753  1.0  0.0   4628   924 ?        S    13:14   0:00 /bin/sh /root/app/config/docker/sidekiq.sh
root     15754 35.0  0.0  78136 11408 ?        R    13:14   0:00 ruby /usr/local/rvm/gems/ruby-2.6.2/bin/ruby_executable_hooks /usr/local/rvm/gems/ruby-2.6.2/bin/sidekiq -C config/sidekiq.yml -e qa -L log/sidekiq.log

Sidekiq может обрабатывать задания в локальной среде. Но при развертывании в среде qa задания sidekiq добавляются в очередь и не обрабатываются.

Я могу видеть имена очередей в redis-cli

Что я должен сделать для обработки заданий в очереди?

Варианты исполнения: -

sidekiq 5.2.5
Rails 5.2.2

Инициализаторы / sidekiq.rb

redis_config = {
  url: "redis://#{Rails.configuration.redis.fetch('host')}:#{Rails.configuration.redis.fetch('port')}/#{Rails.configuration.redis.fetch('db')}",
  namespace: "myapp"
}

Sidekiq.configure_server do |config|
  config.redis = redis_config 
end

Sidekiq.configure_client do |config|
  config.redis = redis_config
end
...