2011-10-12 81 views
1

我在努力研究如何在rabbitmq和em-websocet之間進行通信。RabbitMQ和em-websocket

我想從ruby on rails網頁上放置一條消息到隊列中,並讓隊列處理程序處理消息,即使瀏覽器已關閉。如果瀏覽器保持打開狀態,我希望隊列處理程序的結果將json傳回給瀏覽器。

我確實發現this,但github頁面顯示它已被解除壓縮。任何人都可以將我指向正確的方向嗎?

回答

1

從我可以收集的信息可以看出,你有一個RabbitMQ隊列,一種將項目添加到該隊列的方法,一些處理添加到該隊列的項目的方法,以及基本上要通知瀏覽器的進度隊列。

還有,你可以接近這個主要有兩種方式:通過消息總線

  1. 由於隊列處理器的最後行動,發佈的項目/消息EM-的WebSocket的一個實例是在聽上那條消息總線。

  2. 如果您可以添加功能到RabbitMQ,那麼您可以從RabbitMQ中進行發佈,作爲後期處理的鉤子或類似的東西。 (注意,我對RabbitMQ不太瞭解,說你絕對可以這麼做)。

或者#1,您可以使用Pusher.com或類似服務卸載WebSocket連接的處理。然後,從您的隊列處理器中,您將對該服務的API執行發佈調用。

在使用Pusher的情況下,如果發佈到不再存在的通道/套接字(具有任何連接),則該消息將被丟棄。

希望這會有所幫助。讓我知道你是否想要建立一個基本的em-websocket服務器。

+0

謝謝你的回答。那只是我之後的那種指導 – dagda1