我正在尝试使用 Sidekiq 实现一个用于付款的后台工作人员。我正在使用 nitrous.io 进行开发,这可能会在连接到 redis 时导致一些问题。
当我尝试连接时出现以下错误:
Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)):
我假设这是默认值(本地主机)。
我尝试添加以下初始化程序 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,我无法弄清楚这里到底出了什么问题。我应该如何在开发(nitous)和生产(heroku)中配置此连接?
最佳答案
我在本地遇到了相同的错误,并发现这是因为我没有在新的 cmd 窗口中启动 redis 服务器类型:
redis-server
希望至少在本地测试时有所帮助。
关于ruby-on-rails - 使用 Nitrous.io 和 Rails 配置 Sidekiq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25446536/