Azure 函数未在预定时间触发

Kar*_*sai 6 azure azure-functions azure-sdk timer-trigger

注意:尽管它可能看起来重复,但我的问题是不同的,我要求您阅读完整的描述,然后仅通过阅读问题标题就匆忙地将问题记下来。

我于2017 年 5 月 24 日在官方“ azure-webjobs-sdk-script ”git 存储库中打开了“ Azure 功能未在预定时间触发”问题,但目前还没有回复。所以我在这里重新提问。

我在消费计划中使用 azure 函数,并通过在 function.json 中设置以下 cron 表达式将其安排在每 UTC 时间凌晨 4 点执行:

{  

"bindings": [
    {
      "name": "myTimer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "0 0 4 * * *"
    }
  ],
  "disabled": false
}
Run Code Online (Sandbox Code Playgroud)

仅当我登录门户或单击函数刀片时, Azure 函数才会按时执行当我从门户注销时它不会调用(建议系统侦听器或函数在一段时间后进入睡眠状态)。

他们的官方文档指出,消费计划中的函数不需要任何其他设置(如始终开启)来保持函数的活动状态,Azure Functions 主机的实例会根据传入事件的数量动态添加和删除。. 因此,根据文档,我无需配置其他设置即可执行消费计划中的功能。

我尝试过什么?

  1. 从“定时器触发的天蓝色功能未触发”问题中,我重新检查并确保了我的计划(消费计划)和时区。(我希望它在 utc 中运行,所以不需要显式设置)

  2. 从“ #1445:Azure 函数计时器触发器未触发”git 问题中,我检查了是否只是未出现的日志。但我当然可以肯定,它不是日志,而是不会触发实际功能,除非我打开门户或手动触发它。

  3. 如果我将计划更改为更接近的递归调用,我试图检查这种行为是否存在——我计划函数每 2 小时执行一次,即使我注销或没有手动唤醒函数,这个计划也能完美运行。这意味着,当计划设置为在更大的间隔集上运行时会出现一些问题(在我的情况下是每天

Kar*_*sai 1

正如#1534中所讨论的,在新函数应用程序中完全删除并重新部署函数并没有重现该问题。因此,删除函数和/或函数应用程序并重新部署它们应该会使事情正常进行。同时,Azure团队宣布添加内部日志记录,这将有助于未来的诊断。