计时器触发 Azure 函数未被触发

Timer triggered Azure Function not getting triggered

我在 Azure 上有一个函数,其中包含以下 function.json 文件:

{
    "bindings": [
        {
            "type": "timerTrigger",
            "direction": "in",
            "schedule": "0 0 3 * * *",
            "name": "myTimer"
        }
    ],
    "disabled": false
}

除非我错了,这应该使函数 运行 每天凌晨 3 点运行一次?

这是函数的签名:

public static async Task Run(TimerInfo myTimer, TraceWriter log) {}

那么我做错了什么?当我手动触发它时(在门户中单击 "Run"),该功能工作正常,但今天凌晨 3 点运行 没有,昨天也没有。

编辑: 因此,按照建议,我已将计划更改为付费计划,并选择了动态计划。日志仍然没有说明今天凌晨 3 点激活的功能。

在经典模式下 运行 的应用需要 'Always On' 才能启用。仔细检查是否已启用 - 这将解释它。

Functions 应用程序可以 运行 有两个计划:DynamicClassic。您在创建应用程序期间选择计划。目前无法在创建应用程序后切换计划:

  • 经典计划 运行 应用服务计划就像其他应用服务应用一样。您可以选择“免费”、“基本”、“标准”等,您可以自行控制规模。如果您使用的是经典计划,则必须打开 'Always On' 才能可靠地触发触发器。这要求您的网站处于基本或标准模式。您可以通过单击 'Function app settings' -> 'Go to App Service Settings' 从您的 Function App 管理它(并检查 'Always On')。 'Always On' 设置位于 'Application settings'.

  • 动态计划按执行收费。没有 'Always On' 的概念——当触发器触发时,您的站点将启动(如果尚未启动)并且您的函数将 运行.

详情请看这里:https://azure.microsoft.com/en-us/documentation/articles/functions-scale/#choose-a-service-plan