gpt4 book ai didi

ruby-on-rails - Ruby & Redis/Skidekiq URI::InvalidURIError:方案 redis 不接受注册表部分:bsc_redis:6379(或错误的主机名?)

转载 作者:可可西里 更新时间:2023-11-01 11:16:58 24 4
gpt4 key购买 nike

在我的 docker 服务器上,sidekiq/redis URL URL sepcification 出现错误:

Sidekiq.configure_client do |config| config.redis =  { url: "redis://bsc_redis:6379", size: 1 } end

我明白了

URI::InvalidURIError: the scheme redis does not accept registry part: bsc_redis:6379 (or bad hostname?) from /usr/local/lib/ruby/2.0.0/uri/generic.rb:214:in initialize' from
/usr/local/lib/ruby/2.0.0/uri/common.rb:218:in
new' from /usr/local/lib/ruby/2.0.0/uri/common.rb:218:in parse' from
/usr/local/lib/ruby/2.0.0/uri/common.rb:747:in
parse' from /usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq/redis_connection.rb:86:in log_info' from
/usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq/redis_connection.rb:20:in
create' from /usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq.rb:131:in redis='
from (irb):4:in
block in irb_binding' from /usr/local/bundle/gems/sidekiq-4.2.9/lib/sidekiq.rb:83:in configure_client' from (irb):4 from
/usr/local/bundle/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in
start' from /usr/local/bundle/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in start' from
/usr/local/bundle/gems/railties-3.2.13/lib/rails/commands.rb:41:in
' from script/rails:6:in require' from
script/rails:6:in
'

但是,当我指定 bsc_redis 容器的 IP 地址时,它会起作用:

Sidekiq.configure_client do |config| config.redis =  { url: "redis://172.18.0.5:6379", size: 1 } end
=> {:url=>"redis://172.18.0.5:6379", :size=>1}

当我从 Rails 容器ping bsc_redis 时,它从 172.18.0.5 响应。我找不到任何问题,为什么会这样。

有什么想法吗?

谢谢

最佳答案

尝试使用

config.redis = { url: "redis://bsc_redis:6379/0"}

config.redis = { host: "bcs_redis", port: 6379, db: 0}

两者都是有效的,但我猜可能有一些问题,因为第一个 sidekiq 处理不好的基于 docker 的 dns

关于ruby-on-rails - Ruby & Redis/Skidekiq URI::InvalidURIError:方案 redis 不接受注册表部分:bsc_redis:6379(或错误的主机名?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45674064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com