我的应用程序在不同环境下使用sidekiq在同一台服务器上运行。我在所有环境中都面临着sidekiq流程的不匹配。
所以我需要使用不同的数据库进行同一服务器的开发/登台/测试环境。如何配置redis为每个环境运行不同的数据库。
答案 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等为每个环境创建单独的数据库