注意:即使看起来重复,我的问题是不同的,我要求您先阅读完整的描述,然后再通过阅读问题标题匆忙标记问题。
我于2017 年 5 月 24 日在官方“ azure-webjobs-sdk-script ”git 存储库上打开了“ Azure 功能未在预定时间触发”问题,但尚未得到回复。所以我在这里重新问这个。
我在消费计划中使用 azure 函数,并通过在 function.json 中设置以下 cron 表达式来安排它在世界标准时间凌晨 4 点执行:
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 0 4 * * *"
}
],
"disabled": false
}
仅当我登录门户或单击功能刀片时,Azure 功能才会按时执行。当我从门户注销时它不会调用(建议系统侦听器或函数在一段时间后进入睡眠状态)。
他们的官方文档指出,消费计划中的功能不需要任何其他设置(如始终开启)来保持功能处于活动状态,Azure Functions 主机的实例是根据传入事件的数量动态添加和删除的。. 因此,根据文档,我无需配置其他设置来执行消费计划中的功能。
我试过什么?
从 SO 上的“计时器触发 azure 功能未触发”问题,我重新检查并确保了我的计划(消费计划)和时区。(我希望它以 UTC 运行,因此不需要显式设置)
从“ #1445:Azure 函数计时器触发器未触发”的 git 问题,我检查了它是否只是没有出现的日志。但我可以肯定,它不是日志,而是实际功能不会被触发,除非我打开门户或手动触发它。
如果我将调度更改为更接近的递归调用,我试图检查是否存在这种行为——我安排函数每 2 小时执行一次,即使我注销或没有手动唤醒函数,这个调度也能完美运行。这意味着,当计划设置为以更大的间隔运行(在我的情况下是每天)时会出现一些问题