2017-10-06 113 views
0

部署管道工有效R應用Bluemix/Cloud Foundry的部署管道工有效R應用Bluemix/Cloud Foundry的

我試圖用https://github.com/beibeiyang/cf-buildpack-r.git構建包部署管道工有效R應用Bluemix/Cloud Foundry的

的應用程序是微不足道的(app.R):

library(plumber) 

api <- plumb("api.R") 

PORT <- as.numeric(Sys.getenv('PORT')) 
message (PORT) 

api$run(port=PORT) 

,在我Procfile我有

web: Rscript app.R 

在日誌文件中,我看到安裝(包括依賴關係)成功完成並打印了我的消息。

問題是我無法訪問已部署的應用程序。如果我使用

health-check-type: port 

然後應用程序未通過運行狀況檢查,根本無法訪問。如果我使用

health-check-type: process 

該應用程序啓動,但試圖訪問其URL結果502壞網關。

+0

我不知道[R,所以我不能幫太多,但兩個健康檢查之間的區別在於,進程只會確保您的進程已啓動並正在運行,而端口將會確保它正在運行並監聽指定的端口。由於端口運行狀況檢查失敗,很可能是應用程序無法正確偵聽傳入連接。仔細檢查你是否從PORT env變量中獲得一個值(它總是8080)。也許還可以在應用程序中添加一些日誌記錄,以便更好地理解它正在做什麼。希望有所幫助! –

+0

謝謝丹尼爾。我明白,失敗的端口檢查不僅僅是一個不便,而是一個根本性問題。不幸的是,日誌顯示了一個隨機的端口值,但沒有進一步的信息。 –

回答

0

貌似默認情況下,管道工結合到錯誤的主機,下面的工作:

api$run(host="0.0.0.0", port=PORT) 
相關問題