使用多个sidekiq数据库

时间:2015-02-25 17:31:52

标签: ruby-on-rails ruby-on-rails-3 sidekiq

嘿我正在尝试生成一个连接到完全独立的Redis数据库的sidekiq worker。我知道有3.0的连接池这是可能的,我已经能够成功地将作业推送到正确的Redis DB,但问题是Sidekiq Web UI没有在队列中显示这些作业(我已经安装了一个单独的用于此的机架应用程序专门指向其他Redis DB)。管理界面中的“忙碌”选项卡还显示我已指向此数据库的sidekiq工作人员,具有正确的PID。

这是我的sidekiq.rb:

Sidekiq.configure_server do |config|
  if ENV['REDIS_DB'] == "2"
    config.redis = { :url => "redis://#{SIDEKIQ_HOST}:6379/2", :namespace => 'drip' }
  else
    config.redis = { :url => "redis://#{SIDEKIQ_HOST}:6379", :namespace => 'drip' }
  end
end

Sidekiq.configure_client do |config|
  if ENV['REDIS_DB'] == "2"
    config.redis = { :url => "redis://#{SIDEKIQ_HOST}:6379/2", :namespace => 'drip' }
  else
    config.redis = { :url => "redis://#{SIDEKIQ_HOST}:6379", :namespace => 'drip' }
  end
end

我的用例是我需要对进入第二个数据库的作业进行细粒度控制,因此我需要精确配置的工作人员,因此他们只使用我需要的资源。我只希望以这种方式配置的工作人员能够完成这些工作。

1 个答案:

答案 0 :(得分:1)

无法多次安装Web UI以指向单个进程中的多个Redise。您必须同时设置REDIS_DB来运行多个Web流程。