在我的 Rails 应用程序中,我启动了一个工作程序来根据模式订阅多个 channel 。为此,我使用 psubscribe 如下:
REDIS.psubscribe("*:expire") do |on|
on.message do |event, data|
puts 'Acquired'
end
end
在我调用的特定 Controller 上:
REDIS.publish("key:expire", "testing")
如果我使用带有字符串“key:expire”的订阅,这将非常有效。但是 psubscribe 不起作用。任何人在 Rails 上使用 psubscribe 时都会遇到问题。
提前致谢
最佳答案
经过长时间的实验,我找到了这个解决方案, 当你进行 psubscribe 时,你应该使用“pmessage”而不是“message”。此外,pmessage 在订阅中接收三个参数而不是两个参数。
REDIS.psubscribe("*:expire") do |on|
on.pmessage do |event, channel, data|
puts 'Acquired'
end
end
很有魅力。
关于ruby-on-rails - Rails 上的 Psubscribe redis 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32009079/