2

Rails アプリと複数の Ruby クライアントの間で pub/sub サービスを構築する適切な方法を探しています。

これまでに faye と faye-rails を試しましたが、メッセージがキューに入れられ、特定のチャネルをリッスンしているクライアントが再起動されるまで配信されないため、適切ではありません。また、Pusher や PubNub などのサービスも使用できません。

推奨事項はありますか?

乾杯マーティン

4

1 に答える 1

4

Rails 4 の場合は、ActionController::Liveを参照してください。それはあなたのニーズに適していませんか?

class MyController < ActionController::Base
  include ActionController::Live

  def stream
    response.headers['Content-Type'] = 'text/event-stream'
    100.times {
      response.stream.write "hello world\n"
      sleep 1
    }
  rescue IOError
    # client disconneted
  ensure
    response.stream.close
  end
end

以前の Rails では、次のアプローチを試すことができます: Ruby on Rails 3: Streaming data through Rails to clientRails 3.2 streaming (2 番目のリンクはLast-Modifiedヘッダーに注意することです)

于 2013-07-17T18:22:03.737 に答える