用于不同数据库的sidekiq的Redis配置

时间:2014-01-29 06:21:20

标签: ruby-on-rails

我的应用程序在不同环境下使用sidekiq在同一台服务器上运行。我在所有环境中都面临着sidekiq流程的不匹配。

所以我需要使用不同的数据库进行同一服务器的开发/登台/测试环境。如何配置redis为每个环境运行不同的数据库。

2 个答案:

答案 0 :(得分:0)

我们为每个环境使用了单独的sidekiq queues。设置正确有点棘手,但它确实有效。

当然,你必须为每个环境运行单独的工作程序,每个工作程序访问它自己的环境的队列(以及它自己的环境的数据库。)

我们开始这样做是因为我们浪费了“集成”测试失败的时间,因为我们让开发人员访问队列而不是测试人员。可能有其他方式,但这似乎是最简单的

答案 1 :(得分:0)

对于sidekiq中的每个环境的多个Redis数据库

将config / environment / env.rb中的以下行添加为

 require 'sidekiq'

Sidekiq.configure_client do |config|
config.redis = { :namespace => 'xxx', :url => 'redis://127.0.0.1:6379/2' }
end

Sidekiq.configure_server do |config|
config.redis = { :namespace => 'xxx', :url => 'redis://127.0.0.1:6379/2' }
end

所以/ 2将定义redis数据库。通过更改值/ 3,/ 4等为每个环境创建单独的数据库