0
我在瘦服務器上有Rack Faye應用程序,我在每個faye客戶端握手/訂閱/斷開連接上都有一些邏輯。如何在Faye中實現業務邏輯? Rails
該邏輯需要在數據庫中存儲數據,進行一些計算並將消息發佈回某些通道。
在哪裏以及如何實現這樣的東西,以避免阻止主要Faye線程與擴展?
我在瘦服務器上有Rack Faye應用程序,我在每個faye客戶端握手/訂閱/斷開連接上都有一些邏輯。如何在Faye中實現業務邏輯? Rails
該邏輯需要在數據庫中存儲數據,進行一些計算並將消息發佈回某些通道。
在哪裏以及如何實現這樣的東西,以避免阻止主要Faye線程與擴展?
這裏是Faye的作者。取決於你在與哪個數據庫交談,但一般情況下,你應該使用非阻塞(即基於EventMachine的TCP堆棧)數據庫客戶端。這意味着擴展會很快返回(假設您不等待數據庫調用的結果影響傳入/傳出的消息),因此Faye可以在數據庫調用正在進行時繼續處理消息。
感謝您爲Faye提供的答案和幫助。 DB通常是Postgres。你的意思是像這裏描述的那樣使用EventMachine http://faye.jcoglan.com/ruby/clients.html?這是唯一的選擇? 我發現的唯一問題是我無法訂閱'/ meta/*'頻道和=>無法完全控制連接的客戶端。 – aristofun