[英]Sidekiq Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 on production
config/initializers/sidekiq.rb 配置/初始化/ sidekiq.rb
Sidekiq.configure_server do |config|
config.redis = { :url => 'redis://192.xxx.xxx.xx:6379/0' }
end
In production console when I do 在生产控制台中,当我做
ActivationWorker.perform_async(877459)
It gives an error 它给出了一个错误
Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) Redis :: CannotConnectError:在127.0.0.1:6379(Errno :: ECONNREFUSED)上连接到Redis时出错
Even sidekiq.log prints 甚至sidekiq.log打印
Booting Sidekiq 5.1.3 with redis options {:url=>"redis://192.xxx.xxx.xx:6379/0", :id=>"Sidekiq-server-PID-646"}
It is important to note that to configure the location of Redis, you must define both the Sidekiq.configure_server and Sidekiq.configure_client blocks
重要的是要注意,要配置Redis的位置,必须同时定义Sidekiq.configure_server和Sidekiq.configure_client块
So also add to your config/initializers/sidekiq.rb
: 因此,还要添加到您的
config/initializers/sidekiq.rb
:
Sidekiq.configure_client do |config|
config.redis = { :url => 'redis://192.xxx.xxx.xx:6379/0' }
end
Also important notes from docs: 来自文档的重要注意事项:
NOTE: The configuration hash must have symbolized keys.
注意:配置哈希必须具有符号键。
NOTE: Unknown parameters are passed to the underlying Redis client so any parameters supported by the driver can go in the Hash.
注意:未知参数将传递给基础Redis客户端,因此驱动程序支持的任何参数都可以放入哈希中。
Based on the comments, we know that Redis is on a separate server. 根据评论,我们知道Redis在单独的服务器上。
Create a file in initializers: config/initializers/sidekiq.rb
: 在初始化程序中创建一个文件:
config/initializers/sidekiq.rb
:
Sidekiq.configure_server do |config|
config.redis = {
url: "redis://192.xxx.xxx.xxx:6379/12"
}
end
Sidekiq.configure_client do |config|
config.redis = {
url: "redis://192.xxx.xxx.xxx:6379/12"
}
end
/etc/redis/redis.conf
/etc/redis/redis.conf
bind 192.xxx.xxx.xxx
bind 192.xxx.xxx.xxx
redis
redis
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.