2015-02-09 69 views
1

我在製作使用Rails映射來自Twitter的流API的鳴叫到mapbox地圖web應用程序的過程。它使用Puma作爲服務器和ActionController:Live來與客戶端建立http連接來推送新的推文。 Twitter Stream正在通過「worker」打開,併發布推文給redis,然後在我的「stream」控制器中,我有一個Redis訂閱,它可以偵聽推文,然後將其發送給客戶端。的Heroku,彪馬的ActionController:現場不允許多個請求

我的應用程序目前工作正常本地,我可以打開多個標籤和所有客戶端收到的微博,但是當我推到它的Heroku一次只適用於一個客戶端。它曾經工作得很好,我從字面上沒有改變任何美洲獅設置。

Heroku的部署版本好像它不再多線程。不知道如何或爲什麼。

這是一個鏈接到GitHub庫,如果任何人希望看到的代碼:github repo

編輯 - 要嘗試改變王菲的WebSocket,但我不認爲這個問題是連接到websocket首先看到建立的單一連接完美工作,但它的所有後來被503錯誤拒絕。

回答

0

網絡套接字這是關係到啓動彪馬服務器工作進程的一組量的問題。刪除設置的進程數量並將其保留爲默認值。

# workers Integer(ENV['WEB_CONCURRENCY'] || 3)

2
+0

好的,我會盡快嘗試。謝謝。 – TheNastyOne 2015-02-09 18:32:10

+0

你好 - 我切換到使用websocket-rails gem爲我的應用程序,我只是想知道如果你知道如何關閉服務器上的websocket連接,一旦用戶斷開連接?任何幫助非常感謝,謝謝! – TheNastyOne 2015-02-10 17:42:51

+0

看到這個:http://ngauthier.com/2013/03/websockets-in-rails-4.html – CuriousMind 2015-02-10 18:09:39