2

对不起英语,我是新手。

尝试使用带有 rails 4 和 redis gem 的 redis.publish 功能通过 SSE 推送消息。

我的控制器中有这个块

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

然后什么都没有。另一个请求有效,但该线程停止。

顺便说一句,这完美$redis.publish "user", "test"RAILS_ENV=production rails console运行并且消息成功地出现在客户端。

你能帮助我吗?

UPD:Ruby 2.0-p247、Rails 4、Redis 3.0.4

4

1 回答 1

2

不要在初始化程序中使用一个连接来订阅和发布两者。

我创建了 2 个连接,1 个在 sse writer 中订阅,1 个在控制器中发布,一切正常。

于 2013-08-09T06:57:24.137 回答