2013-12-19 47 views
-1

我必須開發一個API,它可以在後臺執行一些地圖縮減作業,然後返回結果。它是一個帶有Riak No-sql數據庫的sinatra應用程序。問題是這份工作大約需要5-10分鐘才能完成。請求在這段時間內超時。在後臺運行這種工作的最佳方式是什麼?在瀏覽器中運行延遲作業的最佳方式

+2

數據集是否足夠大(要分析的數據不適合RAM),您真的需要MapReduce,還是使用它來查詢Riak中的任意數據? 對於鍵/值來說,對數據進行適當建模要比對所有東西依賴MapReduce好得多;正如你所看到的,MapReduce更適合批量作業。 – macintux

回答

1

喜歡的東西DelayedJob用在上面像Redis的一個層(跟蹤作業狀態的),由一個唯一的途徑訪問(你的Sinatra API)。然後有一個不同的頁面(瀏覽器客戶端的網頁)通過AJAX調用API,定期輪詢它。

相關問題