2017-10-06 111 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) 
相关问题