Azure函数不遵循CRON计时器计划

rmbxnbpk  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(89)

我对Azure函数有相当多的经验,以前从未注意到有问题,但我目前使用的计时器函数让我有点头疼。
我使用CRON表达式:0 */18 * * * *对我来说意味着“每18分钟运行一次”。一般来说,它遵循这种模式,但最近它已经发展出自己的思想。当调用Application Insights时,我会向它写入以下内容,这些是前几天每次调用之间的分钟数:
18,4,4,16,18,18,6,4,14,18,18,6,9,9,18,18,6,13,18,18,6,16,4.
显然,我希望他们都是18岁,但看起来每天都是这样。一些调用在2分钟后发生。我曾经检查过状态配置,看看它说了什么,这是内容:

{"Last":"2023-07-20T10:54:00.0084847+00:00","Next":"2023-07-20T11:00:00+00:00","LastUpdated":"2023-07-20T10:54:00.0084847+00:00"}

字符串
正如你所看到的,它运行了10:54:00,然后计划下一个运行在11:00:00。还不到18分钟!
额外的信息-预定的动作大约需要3分钟才能运行,超时设置为10分钟,但它从来没有达到这一点。我还使用Visual Studio将Azure Function作为Zip部署进行部署。Function App是运行时版本4。

nxagd54h

nxagd54h1#

我尝试使用相同的CRON表达式0 */18 * * * *
x1c 0d1x的数据
只有一次处决是不规则的,所有其他处决都是规则的,相差18分钟。



执行中的不规则性可能是因为函数应用扩展到多个示例,并且计时器触发函数的仅一个示例在所有示例中运行。

  • 检查是否有任何可能导致函数失败的错误或异常,以及定时器触发器在函数失败后是否不重试。
  • 重新验证功能应用程序的配置,并确保其设置正确。此外,您还可以调查
  • 尝试使用不同的CRON表达式测试函数(例如:5min [0 */5 *])。
  • 正如@Anand Sowmithiran 提到的,验证你的函数应用程序的 * 时区 *。

如果问题仍然存在,请尝试使用Timespan值而不是CRON表达式来指定每次函数调用之间的时间间隔。
document中所述,为了保持函数执行的规律频率

  • 配置CRON表达式时需要遵循以下模式:


相关问题