2015-08-09 3 views
0

Я использовал Faye 2.1.3 без проблем, но после обновления до 2.2.2 я могу получить локальный экземпляр только для работы. Производственные websockets терпят неудачу. я заменил фактическое имя сервера с blahblahserver.comFaye Websocket Error Rails 2.2.2 (production)

Фей Rackup

require 'faye' 
app = Faye::RackAdapter.new(:mount => '/faye', :timeout => 25) 
Faye::WebSocket.load_adapter('thin') 
run app 

Application.html.erb

<%= javascript_include_tag "application",params[:controller],'http://app-server1.blahblahserver.com:9292/faye/faye.js','data-turbolinks-track' => true %> 

Helper (отправить функцию)

def broadcast(channel, &block) 
    message = {:channel => channel, :data => capture(&block)} 
    uri = URI.parse("http://localhost:9292/faye") 
    Net::HTTP.post_form(uri, :message => message.to_json) 
end 

В Rails Контроллер

gon.env = Rails.env 

Слушатель (CoffeeScript)

$ -> 
    # required when faye listener is present to keep from having hard env changes 
    # parallel gon.env = Rails.env in controller must be present 
    server_name = undefined 
    switch gon.env 
    when "production" 
    server_name = 'app-server1.blahblahserver.com' 
    when "staging" 
    server_name = 'si-staging.blahblahserver.com' 
    when "development" 
    server_name = 'localhost' 
    address = 'http://' + server_name + ':9292/faye' 

# Listener for this page locally 
faye = new (Faye.Client)(address) 
faye.subscribe ('/logs/'+gon.property_id+ '/new'), (data) -> 
if getParameterByName('all_open') == "true" 
    window.location.href = window.location.href 
else if gon.today == gon.display_date 
    ready(data) 
else window.location.href = window.location.href 
return 
faye.subscribe ('/logs/'+gon.property_id+ '/alert'), (data) -> 
console.log('pre-ajax') 
$.ajax 'load_customer_messages' , 
    type: "GET", 
    dataType: "JSON", 
    asnyc: false, 
    success: (data2) -> 
    $('#ajax').click() 
return 
return 

ready = (data) -> 
eval data 

ответ

0

Так что вопрос заключается в обновлении Фэй. Синтаксис для запуска теперь выглядит следующим образом:

rackup --host [ip address of server] faye.ru -s thin -E production -D В настоящее время требуется добавление хоста [ip-адрес] больше не прослушивается извне без IP-адреса.

6 дней разочарования, нет документации на сайте faye!

Смежные вопросы