是否可以在Ubuntu上使用我自己安裝的OpenCPU來使用opencpu.js?我已經完成了對代碼的快速掃描,並且無法看到我將設置主機名的位置。opencpu.js請求我自己安裝的opencpu?
回答
編輯:此功能已在opencpu.js 0.3中得到了改進。您現在可以使用`opencpu.seturl()設置opencpu服務器的路徑。參數必須指向一個包,例如:
opencpu.seturl("/ocpu/library/mypackage/R")
,或者如果你的瀏覽器支持CORS你可以這樣做:
opencpu.seturl("//public.opencpu.org/ocpu/library/mypackage/R")
或
opencpu.seturl("//public.opencpu.org/ocpu/github/yourname/yourpackage/R")
設置在此之後,客戶端將檢查這個服務器是否在線,並打印一些調試的東西到JavaScript控制檯。如果一切正常,您可以使用庫,就像它是應用程序的一部分一樣。看看http://www.stat.ucla.edu/~jeroen/appdemo/看到這個在行動。
也就是說,opencpu.js
庫被設計爲包含在應用程序中。 OpenCPU應用程序是一個R包,它包含一些使用OpenCPU API調用包中的R函數的網頁。
因爲應用程序是已經安裝到OpenCPU服務器上R封裝,所述opencpu.js
文庫假定服務器的當前主機上運行,並且使用相對路徑來調用服務器。此外,由於opencpu.js
包含在特定的R程序包中,所以opencpu.js
中的函數對於指定程序包沒有任何參數:它假定您正在調用R函數當前的程序包。
這聽起來有點讓人困惑,但相對路徑對於保持應用程序的可移植性非常重要。例如,在相同的應用程序應該無論工作是否託管爲:
https://public.opencpu.org/ocpu/gitstats/www
https://public.opencpu.org/ocpu/github/SChamberlain/gitstats/www/
https://public.opencpu.org/ocpu/user/jeroen/library/gitstats/www/
這種設計的最大好處是,你的[R包將是一個自包含的,獨立的應用程序,它可以在任何地方簡單地部署通過安裝包裝。這可以避免跨域請求和軟件版本控制帶來的麻煩。由於您的網頁和R功能是同一個軟件包的一部分,因此您可以確保js和R代碼包含兼容版本。如果您要在單獨的服務器上託管js,那麼安裝新版本的R包時可能會中斷服務。
也許最好的入門方法是看看其中一個public apps。這些應用程序的源代碼可在opencpu github repo上找到,每個應用程序都建立在opencpu.js
庫上。
- 1. 安裝nginx中斷OpenCPU的HTTP請求
- 2. 使我自己的安裝
- 3. 如何安裝OpenCPU?
- 4. OpenCPU服務器請求
- 5. 如何安裝我自己的Java庫?
- 6. 對自己的PHP請求
- 7. 安裝自己的寶石
- 8. 請求安裝Caffe
- 9. OpenCPU如何在R/pub中安裝包?
- 10. 在Amazon Linux實例上安裝OpenCPU
- 11. 在Bitnami服務器上安裝OpenCPU
- 12. Android應用程序是否可以請求重新安裝自己的APK? (從安裝服務)
- 13. Nginx的stub_status:忽略自己的請求
- 14. pip安裝請求錯誤
- 15. 我可以在我的商店安裝自己的證書嗎?
- 16. 創建您自己的PayPal請求
- 17. EJB請求自己的引用?
- 18. MiniProfiler,擺脫請求自己的資源
- 19. 403對ajax請求到自己的域
- 20. Phonegap - 無法安裝我自己的自定義插件v3.1
- 21. Python請求庫與代理 - 獲取請求仍然發送我自己的IP
- 22. 可以安裝自己的插件嗎?
- 23. 創建並安裝自己的模塊
- 24. 從我自己的安全系統回收我自己
- 25. 在installshield中安裝自己的軟件包後安裝Dotnet?
- 26. Github拉到私人回購請求(從我自己的分支)
- 27. 無法覆蓋shouldInterceptRequest(),使我自己的HTTP請求
- 28. Restangular - 如何取消/執行我自己的請求
- 29. 在我自己的服務器上安裝wordpress的根目錄
- 30. 自動安裝要求
感謝您的回覆。你所描述的是有道理的。但是,這不是我們如何使用OpenCPU。事實上,我們正是在'1.2在一個團隊中使用OpenCPU'中描述的。我們有數據分析人員編寫所有的R並部署到我們的OpenCPU服務器,我們有編寫JavaScript並部署到不同服務器的Web程序員。我們喜歡獨立更新+部署JavaScript和R.保持JavaScript與R之間的契約並不是問題。但是,我們正在開發自動化測試來驗證這是否可以確保。 –
我更新了答案。如果您向我發送電子郵件,我很樂意討論您的使用案例並提供更具體的建議。 – Jeroen