【问题标题】:Function app restarts every hour + 4 minutes函数应用每小时 + 4 分钟重新启动一次
【发布时间】:2019-07-09 14:23:04
【问题描述】:

我有一个用 C# 编写的 v2 函数应用程序,该应用程序部署到 azure。我设置了应用程序洞察监控来监控它。我正在查看日志以尝试诊断一些性能问题,我注意到一堆这样的消息:

Host started (xyz ms)

我每隔一小时 + 4 分钟就会看到其中一条消息。

7/9/2019, 8:27:04 AM - TRACE
7/9/2019, 7:23:03 AM - TRACE
7/9/2019, 6:19:02 AM - TRACE
7/9/2019, 5:15:03 AM - TRACE
etc.

我有一个在触发器上运行的函数,我用它来保持函数处于活动状态,这样我就可以避免冷启动,冷启动在它第一次启动时会导致非常慢的函数调用。

[FunctionName("KeepAlive")]
public void Run([TimerTrigger("30 */4 * * * *", RunOnStartup=true)]TimerInfo myTimer, ILogger log)
{
    log.LogInformation("Keep Alive");
}

我认为如果此函数每 4 分钟运行一次,它会阻止我的函数应用程序关闭,但由于某种原因,它每隔一小时 + 四分钟重新启动一次。我做错了什么?

【问题讨论】:

  • 您能否提供以下信息,以便我们从后端进行调查? - 函数应用版本(1.0 或 2.0) - 函数应用名称 - 函数名称(视情况而定) - 地区 如果您不想提供函数应用名称,可以私下提供。github.com/Azure/azure-functions-host/wiki/…
  • @DixitArora-MSFT 函数应用是 2.0。地区是美国中部。 8c95b992-e564-4b06-9367-2b04b6aa5983 是执行 ID。时间戳为 2019-07-10T12:55:14.792
  • @DixitArora-MSFT 你能看到我的功能吗?

标签: azure azure-functions


【解决方案1】:

从 7 月 9 日和 10 日的后端日志来看,没有重新启动。 所有这些函数和函数的其余部分都成功执行,没有一次失败。

Sta*****功能

Mo*****st

物理*******列表

我们检测到您正在使用为 Application Insights 启用日志记录采样的默认设置运行。这可能会导致您的监控日志中缺少执行日志。

启用应用程序洞察日志采样可能会导致:

  • 监控日志中缺少计时器触发器执行
  • 其他数据日志丢失

您可能只需要调整采样设置以适应您的特定监控场景。

Please review this guidance to configure sampling.

还启用了 runOnStartup。 我们建议不要在生产环境中将 runOnStartup 设置为 true。

该函数将在运行时启动时被调用。这可能会导致以下执行列表中的计划外执行。

Please check here to disable runOnStartup configuration.

【讨论】:

  • 我不明白为什么我会在日志中看到这么多主机启动消息?这不等于重新启动功能应用程序吗?我每小时看到一个。如果不一样,那有什么区别呢?
猜你喜欢
  • 1970-01-01
  • 2021-02-26
  • 2012-02-08
  • 1970-01-01
  • 1970-01-01
  • 2021-10-18
  • 2010-11-16
  • 2017-11-15
  • 1970-01-01
相关资源
最近更新 更多