gpt4 book ai didi

带有计时器触发器的Azure函数: UnscheduledInvocationReason

转载 作者:行者123 更新时间:2023-12-03 00:59:27 26 4
gpt4 key购买 nike

在我的 Azure Functions 中,我有 26 个函数,只有 7 个带有计时器触发器(请参阅我的 previous post 我也看到了这个 other post 但它很旧)。微软对此没有任何建议。某些功能具有计时器触发器,并且在流程结束时每个功能都会发送一封电子邮件。我有两种类型的计时器触发器:

  • 每 20 分钟运行一次函数
  • 在夜间的特定时间运行一次函数
  • 每 20 分钟该函数就会执行我期望的操作

我面临的问题是它们必须在特定时间启动的功能。基本上,直到我打开门户并在 Azure Function 上执行某些操作(例如打开其中一个的监视器)后,它们才会启动。

从代码的角度来看,所有带有定时器触发器的函数都是这样定义的:

[FunctionName("invoiceMonthlyGeneratorTimer")]
public void Run([TimerTrigger("%Timers:GenerateMonthlyInvoices%")] TimerInfo myTimer)
{
// ..
}

[FunctionName("invoiceDunningTimer")]
public async Task Run([TimerTrigger("%Timers:DunningTimer%")] TimerInfo timer)
{
// ...
}

计时器的配置位于设置文件中,例如:

"Timers": {
"DunningTimer": "0 0 4 * * *",
"GenerateMonthlyInvoices": "0 0 4 * * *"
}

令我惊讶的是早上没有收到任何电子邮件,我检查了 Application Insights,没有找到任何与计时器功能相关的日志。

然后,我在门户中打开 Azure Functions,单击一个函数,然后神奇地收到了一封电子邮件。在日志中我发现了如下相同的日志:

Trigger Details: UnscheduledInvocationReason: IsPastDue, OriginalSchedule: 2020-07-24T05:00:00.0000000+00:00

enter image description here

正如一个小伙子在我上一篇文章的评论中所建议的那样,计时器触发函数将会发生冲突并且不会启动。看起来很烦人。我还在Github上打开了一个问题.

Azure Functions 中的计时器触发器函数是否有任何指南?有其他人遇到和我一样的问题吗?

最佳答案

对于这个问题,我认为它可能是由一个功能应用程序中的多个功能引起的,正如您之前提到的那样。我在一个函数应用程序中遇到了 http 触发函数和计时器触发函数的类似问题。代码很简单(我确认代码没有错误),但是定时器触发功能无法按时触发。

Here是我遇到的类似问题的帖子。解决方法是在不同的函数应用程序中创建函数。对于您的问题,我认为您可以像我上面提到的那样在不同的函数应用程序中创建函数,或者您可以按照此 page 上的步骤在 azure 门户上提出支持票证。 。 Azure 支持团队将帮助您,因为他们可以查看您的函数的更多日志详细信息。我认为很难在堆栈溢出社区获得您想要的帮助。

关于带有计时器触发器的Azure函数: UnscheduledInvocationReason,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63115975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com