2

task_controller.rb:

def create
  response.headers["Content-Type"] = "text/javascript"
  task = Task.create(:blahblah)

  if task
    data = { :type => 'task', :method => 'create', :object => task }
    $redis.publish('message.test', data.to_json)
    send_created(task)
  else
    send_error
  end
end

stream_controller.rb:

def index
  response.headers['Content-Type'] = 'text/event-stream'
  redis = Redis.new
  redis.psubscribe('message.*') do |on|
    on.pmessage do |channel, pattern, data|
      response.stream.write("data: #{data}\n\n")
    end
  end
end

同じホストからの 2 回目の接続の後、アプリケーションはダウンし、どのリクエストにも応答しません。ログは明確なので、この問題を解決する方法がわかりません。

4

0 に答える 0