azure - Azure 函数 CRON 表达式每天无法工作一次
问题描述
我正在拔头发试图让它发挥作用。我发现有多个来源可以让函数每天运行一次。我尝试了以下项目:
0 0 * * *
0 0 0 * * *
0 0 23 * * *
我尝试了其他变体,但是每次运行时,它每天都会执行多次,而且没有一致性。例如,我正在使用“0 30 1 * * *”,认为它将在凌晨 1:30 运行一次,到目前为止,它已按以下时间间隔运行 4 次:
00:44:19
01:28:46
01:30:00
12:53:21
时间完全是零星的,只有一个是正确的时间,但另外三个是从哪里来的?我看过其他网站,格式似乎不一致。我见过很多使用 6 个字符,但我什至看到有些人使用 7 个字符(他们引用了这个站点Freeformatter.com),但如果我使用 7 个字符,该函数会引发错误。
我真的厌倦了我查找的所有变体都不起作用的事实。任何帮助都会很棒。
解决方案
首先,azure函数timetrigger中的cron表达式只有一种形式,即:
{second} {minute} {hour} {day} {month} {day of week}
其次,除了通过你的 timetrigger 的 cron 表达式触发之外,还有两种方法可以触发你的函数。
1、不同于blobtrigger,timetrigger不需要实际的东西。因此,当您在门户上单击运行时,将触发时间触发器。
2、里面有个设置function.json
会导致timetrigger在你不想要的时候触发。它是runOnStartup
。当它为 true 时,timetrigger 运行时将在函数应用因不活动、函数更改和函数应用横向扩展而空闲后唤醒时启动。
让我知道您的问题是否可以解决。:)