我有多个Azure函数运行在一个消费计划上。我还设置了API管理。在Api管理内部,我们有两个网络测试,每3-5分钟进行一次这些功能,并确保它们仍然正常运行和可访问。web测试命中的端点只有以下代码。
[FunctionName("HealthCheck")]
public static Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "healthcheck")]HttpRequestMessage req, TraceWriter log)
{
log.Info("Health Check Triggered");
return Task.FromResult(req.CreateResponse(HttpStatusCode.OK));
}运行一段时间后,该函数开始到503,主机阈值超过线程错误。我不知道是什么引起了这个问题。Azure是否有任何限制,因为功能在消费计划上而不是应用服务计划上,阻止了它的工作?谢谢您提供的任何信息。
发布于 2019-01-03 08:24:15
主机健康监视器功能目前仅在存在沙箱限制的消费计划上激活。默认情况下,该特性是启用的,但可以通过host.json的host.json部分禁用/配置。
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}如果您的函数应用程序达到阈值,您将看到像Host thresholds exceeded: [Threads]这样的错误正在被记录。线程:线程数(限制为512).
有关更多细节,您可以参考此文章。
https://stackoverflow.com/questions/54007143
复制相似问题