使用Nitrous.io和Rails配置Sidekiq

时间:2014-08-22 12:00:01

标签: ruby-on-rails ruby-on-rails-4 sidekiq nitrousio

我正在尝试使用Sidekiq实现后台工作人员的付款。我使用nitrous.io进行开发,这可能会在连接到redis时引起一些问题。

当我尝试连接时,我收到以下错误:

Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)):

我认为这是默认值(localhost)。

我尝试添加以下初始化程序sidekiq.rb

Sidekiq.configure_server do |config|
config.redis = { :url => 'redis://test-box-123456.euw1-2.nitrousbox.com:6379/0'}
end

Sidekiq.configure_client do |config|
config.redis = { :url => 'redis://test-box-123456.euw1-2.nitrousbox.com:6379/0'}
end

但是,这会导致以下错误:

Redis::ProtocolError ( Got '<' as initial reply byte. If you're in a forking environment,       such as Unicorn, you need to connect to Redis after forking. ):

之前我还没有使用背景sidekiq / redis,我无法弄清楚到底出了什么问题。我应该如何在开发(nitrous)和生产(heroku)中配置此连接?

1 个答案:

答案 0 :(得分:4)

我在本地得到了同样的错误并且发现这是因为我没有在新的cmd窗口中启动redis服务器类型:

redis-server

希望至少在本地测试时有所帮助。