1

チャンネルを購読するには、次のルビーがあります。

ホストを「localhost」に設定すると、問題はありません-つまり、スクリプトが起動します

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
4

1 に答える 1