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

イニシャライザで 1 つの接続を使用して両方をサブスクライブおよびパブリッシュしないでください。

私は 2 つの接続を作成しました。

于 2013-08-09T06:57:24.137 に答える