我在rails上編寫使用jruby的應用程序。部分應用程序從網頁啓動長時間運行的過程。在某些情況下,長時間運行的過程可能會持續20分鐘,但在大多數情況下,在時間上會超出網頁響應時間。如果用戶關閉瀏覽器,我也希望該作業能夠繼續。長時間運行的進程會在數據庫運行時將記錄添加到數據庫中。與Ruby Web套接字服務器串聯排隊
我想給網頁上的數據庫插入視覺指示,我寧願使用網絡套接字而不是輪詢插入數據庫。
我想發送一個消息隊列處理程序,以確保如果用戶關閉瀏覽器完成作業的resque隊列。隊列處理程序將執行插入數據庫。
我正在考慮使用EM-WebSocket作爲我的websocket服務器。
我的問題是:
我如何才能resque過程和EM-WebSocket的過程之間的溝通?我想以某種方式將新插入的細節從resque過程傳遞到數據庫中,以便將與瀏覽器通信的EM-WebSocket實例?
有人解決了這樣的問題或任何想法我可以做到這一點?
您是否想過將結果添加到Redis隊列並在您的Rails應用程序中觀察該隊列?假設您正在使用的Redis庫能夠從這樣的隊列中觀察/觀看/彈出元素。 – tbuehlmann
這實際上看起來像一個很好的起點http://blog.0x82.com/2009/12/28/twitter-amqp-websocket-example-no-polling – dagda1
是的,這就是我的意思,使用一個隊列。 – tbuehlmann