能否通过Azure Management API检测Azure App Service实际运行状态?
解决方案
- 你调用的基础Web Apps查询接口返回的
state字段仅对应App Service计划层面的调度状态,和应用容器的实际启动就绪状态没有关联,Free层实例自动休眠时该字段也不会同步更新,所以会一直显示为Running。 - 优先使用Web Apps主机运行时状态查询接口,该接口返回的
properties.status字段可以准确反馈实例的真实运行状态:- 返回
Ready:实例已热启动完成,访问响应为3秒级 - 返回
Pending或Starting:实例处于冷启动流程中,访问响应为200秒级
- 返回
- 备选方案:你也可以在应用内部新增一个无业务逻辑的轻量健康检查路径,向该路径发送超时时间设置为2秒的GET请求,能正常返回200状态码则说明实例已就绪,否则即可判定为冷启动中。
- 提示:Free层App Service仅支持单实例运行,无需遍历多实例状态,查询唯一实例的状态即可获得准确结果。
内容的提问来源于stack exchange,提问作者Tedford
相关产品推荐
相关产品推荐

