我使用redis-rb和sidekiq。常规的$ subscribe方法运行良好,但在使用如下所示的$ psubscribe时我没有响应:
ActiveJob剪断:
$redis = Redis.new(:timeout => 0, :driver => :hiredis)
$redis.psubscribe(".*") do |on|
on.message do |channel, msg|
puts msg
end
end
redis-cli命令: 发布'abc''你好'
当我从测试文件中尝试这个例子时,它也没有用。 https://github.com/redis/redis-rb/blob/98e3e7a516fc9b4609bc8ab482605f835a4de621/test/publish_subscribe_test.rb 你有什么建议可能是什么原因吗?
答案 0 :(得分:2)
您需要使用pmessage方法而不是message来接收消息事件。
$redis.psubscribe(".*") do |on|
on.pmessage do |pattern, channel, msg|
puts msg
end
end