Cloud foundry Cloud foundry:错误在1毫秒后超时:从未通过运行状况检查
将我的应用程序部署到cloud foundry后,收到以下错误消息:Cloud foundry Cloud foundry:错误在1毫秒后超时:从未通过运行状况检查,cloud-foundry,pivotal-web-services,Cloud Foundry,Pivotal Web Services,将我的应用程序部署到cloud foundry后,收到以下错误消息: 错误在1毫秒后超时:健康检查从未通过。 当然,在我的本地机器上工作得很好 根据评论中的讨论和我自己对您正在部署的实际应用程序的测试,这个特定的应用程序似乎需要一段时间才能启动。可能与单个Java服务超时有关(因为您没有将任何CF服务绑定到应用程序) 无论如何,虽然我不确定实际的问题是什么(可能是PWS本身的问题),但这可以通过在推送时指定-t选项,或者在清单中添加超时:属性来解决(参见文档) 旧答案 需要更多的细节来确定,但
错误在1毫秒后超时:健康检查从未通过。
当然,在我的本地机器上工作得很好 根据评论中的讨论和我自己对您正在部署的实际应用程序的测试,这个特定的应用程序似乎需要一段时间才能启动。可能与单个Java服务超时有关(因为您没有将任何CF服务绑定到应用程序) 无论如何,虽然我不确定实际的问题是什么(可能是PWS本身的问题),但这可以通过在推送时指定
-t
选项,或者在清单中添加超时:
属性来解决(参见文档)
旧答案 需要更多的细节来确定,但我想有两件事正在发生:
- 您没有使用正确的端口。Cloud Foundry使用
(或者,在Diego之前,端口
)环境变量公开它希望应用程序部署的端口。这默认为VCAP\u APP\u port
,因此如果您的应用程序未侦听8080
(或绑定到8080
而不是127.0.0.1
),则健康检查将失败0.0.0
- 您的应用程序不公开任何API端点,应使用CF上的
选项进行部署,并且(从Diego开始)需要对其执行--no route
。仅当您的应用程序真正不需要运行状况检查时,才应执行此操作CF set health check[app name]
某些生成包可以自动为您处理第一个生成包。您使用的是哪种生成包?或者,您使用的是哪种语言?您应该更改运行状况检查类型。 如果应用程序未公开Web界面,则需要将
healthcheck
类型更改为process
。
有效值包括端口
、进程
和http
要在创建或更新应用程序时配置运行状况检查,请使用cf push命令:
$cf推送你的应用程序-u进程
有关更多信息,请参阅健康检查文档:
您可以使用以下命令禁用运行状况 (短期解决办法)
异常:java.lang.IllegalStateException:LifecycleProcessor未初始化-在通过上下文调用生命周期方法之前调用“刷新”:我遵循以下示例:…没有任何服务,如elephantsql、mondogdb、redis,我正在使用java构建包。在我为我的应用程序提供了更多内存(而不是512 M)之后,我使用了1024M,并继续工作e但在一段时间后终止。嗯……没有任何路由,我如何才能访问应用程序的网页?你不能,这就是为什么你通常不想设置
--无路由
选项的原因。你能包含PWS的日志输出吗?这很可能是PWS问题。我将超时时间提高到3分钟,并观察到事情发生得非常非常缓慢我会删除该应用程序,将所有配置重置为您最初想要的配置并重新部署。即使第一次失败,Cloud Foundry也会自动重新启动它,直到它正常工作。或者,将健康检查类型:process
添加到manifest.yml。此外,这似乎是正确的答案。仅供参考:我也能够解决此问题此回答中提供的解决方案出现此错误:ERR无法建立到端口8080的TCP连接:扩展实例时连接被拒绝
cf push app_name -p target/app.jar -u none