我正在尝试使用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)中配置此连接?
答案 0 :(得分:4)
我在本地得到了同样的错误并且发现这是因为我没有在新的cmd窗口中启动redis服务器类型:
redis-server
希望至少在本地测试时有所帮助。