Cloud foundry Cloud foundry:错误在1毫秒后超时:从未通过运行状况检查

Cloud foundry Cloud foundry:错误在1毫秒后超时:从未通过运行状况检查,cloud-foundry,pivotal-web-services,Cloud Foundry,Pivotal Web Services,将我的应用程序部署到cloud foundry后,收到以下错误消息: 错误在1毫秒后超时:健康检查从未通过。 当然,在我的本地机器上工作得很好 根据评论中的讨论和我自己对您正在部署的实际应用程序的测试,这个特定的应用程序似乎需要一段时间才能启动。可能与单个Java服务超时有关(因为您没有将任何CF服务绑定到应用程序) 无论如何,虽然我不确定实际的问题是什么(可能是PWS本身的问题),但这可以通过在推送时指定-t选项,或者在清单中添加超时:属性来解决(参见文档) 旧答案 需要更多的细节来确定,但

将我的应用程序部署到cloud foundry后,收到以下错误消息:
错误在1毫秒后超时:健康检查从未通过。

当然,在我的本地机器上工作得很好

根据评论中的讨论和我自己对您正在部署的实际应用程序的测试,这个特定的应用程序似乎需要一段时间才能启动。可能与单个Java服务超时有关(因为您没有将任何CF服务绑定到应用程序)

无论如何,虽然我不确定实际的问题是什么(可能是PWS本身的问题),但这可以通过在推送时指定
-t
选项,或者在清单中添加
超时:
属性来解决(参见文档)


旧答案

需要更多的细节来确定,但我想有两件事正在发生:

  • 您没有使用正确的端口。Cloud Foundry使用
    端口
    (或者,在Diego之前,
    VCAP\u APP\u port
    )环境变量公开它希望应用程序部署的端口。这默认为
    8080
    ,因此如果您的应用程序未侦听
    8080
    (或绑定到
    127.0.0.1
    而不是
    0.0.0
    ),则健康检查将失败
  • 您的应用程序不公开任何API端点,应使用CF上的
    --no route
    选项进行部署,并且(从Diego开始)需要对其执行
    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