我有以下红宝石来订阅频道。
当我将主机设置为“本地主机”时,我没有问题 - 即脚本启动
当我设置为 localhost 以外的 IP 地址(运行 redis 的地方)时,我得到了超时。连接到 Redis 超时如果我删除 :timeout => 0 脚本将运行,但是我相信这是为订阅者设置的正确值,以确保我的客户端永远不会超时。
如何防止订阅者发生超时?
require 'redis'
$redis = Redis.new :host => 'IPADDRESS', :timeout => 0
$redis.subscribe('MyChannel', ) do |on|
on.message do |channel, msg|
puts "M is #{msg}"
end
end