6

注意:即使看起来重复,我的问题是不同的,我要求您先阅读完整的描述,然后再通过阅读问题标题匆忙标记问题。

我于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 主机的实例是根据传入事件的数量动态添加和删除的。. 因此,根据文档,我无需配置其他设置来执行消费计划中的功能。

我试过什么?

  1. 从 SO 上的“计时器触发 azure 功能未触发”问题,我重新检查并确保了我的计划(消费计划)和时区。(我希望它以 UTC 运行,因此不需要显式设置)

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

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

4

1 回答 1

1

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

于 2017-06-07T02:43:58.240 回答