2016-06-10 16 views
1

因此,讓我來介紹一下我是一個JS開發人員,他開始在R/DeployR中開發一個項目,所以我的知識僅限於我的知識,在過去的幾個月裏我學到了東西。DeployR Server&Javascript API,大數據返回「Project in Use」

我在節點中使用了DeployR Javascript API,該節點連接到DeployR Open Edition 7.4.1。

我一直在處理一個讓我自己和數據工程師難倒的錯誤。這隻在大量數據通過時纔會發生(28k +行數據庫)。

我整合了Pubnub來獲取進程的日誌記錄,這裏是發生了什麼事情的要點,以及我正在嘗試解決的問題。

進程:節點正在通過JavaScript API向R腳本發出請求,該腳本根據算法處理數據。 R腳本通過使用for循環來針對每種算法運行數據。

Issue:在第三個循環/算法中,deployR向javascript API返回錯誤,然後將錯誤作爲JSON返回給應用程序。但是,腳本一直運行,並在PubNub中顯示完成狀態。奇怪的是,然後返回預期的數據對象,在Javascript API中調用.end函數。這將返回一個空的響應。所以錯誤正在調用,但是R腳本繼續運行。

返回錯誤:

{ get: [Function], 
    deployr: 
    { response: 
     { success: false, 
     call: '/r/project/execute/script', 
     errorCode: 403, 
     error: '403: Project currently in-use by node_api, call rejected.\n' } } } 
+0

您是否直接使用DeployR Web界面(存儲庫管理器和API瀏覽器)測試了R腳本? –

回答

0

一些複雜的問題解決之後,我們想通了,DeployR服務器是之前到R腳本(相當複雜的)完成數據,以及後續調用couldn返回由於這個原因,不會加載項目。

這主要是由於創建了比DeployR實際意味着要處理的更大規模的應用程序,但是我們實現了PubNub - 任何類似的觀察器功能讓節點(或任何前端)環境知道實際腳本本身何時完成訣竅!