Azure 计时器功能未运行

Jam*_* S. 5 azure azure-app-service-plans azure-functions

我有一个带有计时器触发器的 Azure 函数。时间表为“0 0 18 * * 周一至周五”。我可以手动运行它,但它不会自动触发。我看到一些答案说应用服务计划不能是“经典”,但我没有看到该选项。我的函数应用程序的应用程序服务计划是基于消耗的。有什么建议吗?

这是 function.json:

{
  "generatedBy": "Microsoft.NET.Sdk.Functions-1.0.24",
  "configurationSource": "attributes",
  "bindings": [
    {
      "type": "timerTrigger",
      "schedule": "0 0 18 * * MON-FRI",
      "useMonitor": true,
      "runOnStartup": false,
      "name": "myTimer"
    }
  ],
  "disabled": false,
  "scriptFile": "../bin/MyApp.dll",
  "entryPoint": "MyApp.ProcessOptions.Run"
}
Run Code Online (Sandbox Code Playgroud)

Joe*_*Cai 5

如果它位于 中App Service Plan,您需要确保启用“始终在线” 。

Consumption模式中,不存在Always On. 相反,您的函数应用程序应该在计时器到期时自动唤醒。为此,您的触发器需要是synced,这通常在各种情况下自动发生:

a) 如果您使用门户来更改功能

b) 如果您使用 msdeploy、Kudu git deploy 或 Kudu 的 zipdeploy ( /api/zipdeploy) 部署 Function App

c) 如果您单击门户中 Function App 名称旁边的小刷新图标

注意默认情况下,计划使用 UTC 时间,因此在设置每日计划时请注意这一点(如果每小时触发也没关系)。您可以通过设置将其更改为我们特定的时区WEBSITE_TIME_ZONE。请参阅此处了解更多信息。

欲了解更多详情,您可以参考这篇文章