Sidekiq Redis :: CannotConnectError:在生产时连接到127.0.0.1:6379上的Redis时出错

问题描述 投票:0回答:2

配置/初始化/ sidekiq.rb

Sidekiq.configure_server do |config|
   config.redis = { :url => 'redis://192.xxx.xxx.xx:6379/0' }
end

在我的生产控制台

ActivationWorker.perform_async(877459)

它给出了一个错误

Redis :: CannotConnectError:在127.0.0.1:6379上连接到Redis时出错(Errno :: ECONNREFUSED)

甚至sidekiq.log打印

Booting Sidekiq 5.1.3 with redis options {:url=>"redis://192.xxx.xxx.xx:6379/0", :id=>"Sidekiq-server-PID-646"}
ruby-on-rails ruby redis sidekiq
2个回答
1
投票

请务必注意,要配置Redis的位置,必须同时定义Sidekiq.configure_server和Sidekiq.configure_client块

Straight from the docs

所以也添加到你的config/initializers/sidekiq.rb

Sidekiq.configure_client do |config|
   config.redis = { :url => 'redis://192.xxx.xxx.xx:6379/0' }
end

来自文档的重要说明:

注意:配置哈希必须具有符号化键。

注意:未知参数将传递给基础Redis客户端,因此驱动程序支持的任何参数都可以在哈希中。


0
投票

根据评论,我们知道Redis位于单独的服务器上。

Rails服务器

在初始值设定项中创建一个文件: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

Redis服务器

  • 编辑/etc/redis/redis.conf
  • 更新您的绑定端口
  • 例如:bind 192.xxx.xxx.xxx
  • 重启redis
© www.soinside.com 2019 - 2024. All rights reserved.