对不起,英语不好,我是新手。
尝试使用带有rails 4和redis gem的redis.publish功能来通过SSE推送消息。
我的 Controller 中有这个 block
logger.info "test1"
$redis.publish "user", "test"
logger.info "test2"
其中 $redis -
$redis = Redis.new(:host => '127.0.0.1', :port => 6379, :db => 1,:timeout => 0)
在初始化程序中。
生产打印中的服务器控制台
I, [2013-08-07T22:34:50.138232 #4679] INFO -- : test1
然后就什么也没有了。另一个请求正在运行,但该线程停止了。
顺便说一下,RAILS_ENV=生产 rails 控制台
上的这个$redis.publish "user", "test"
运行完美,消息成功显示在客户端。
你能帮我吗?
更新:Ruby 2.0-p247、Rails 4、Redis 3.0.4
最佳答案
不要在初始化程序中使用一个连接来订阅和发布两者。
我创建了 2 个连接,1 个用于在 sse writer 中订阅,1 个在 Controller 中用于发布,一切正常。
关于ruby-on-rails - Rails 4 中的 Redis 发布停止服务器线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111487/