我有一个带有计时器触发器的Azure函数。时间表是“ 0 0 18 * * MON-FRI”。我可以手动运行它,但它不会自动启动。我已经看到一些答案,说应用程序服务计划不能是“经典的”,但我看不到该选项。我的功能应用程序的应用程序服务计划是基于消耗的。有什么建议吗?
这是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"
}
答案 0 :(得分:1)
如果它位于count=Final['Rate'].max()
count=str(count)
Final.columns = Final.columns.str.replace('count', 'Final')
中,则需要确保启用始终在线。
在App Service Plan
模式下,没有Consumption
这样的东西。相反,您的功能应用应该在计时器到期时自动唤醒。为此,您的触发器必须为Always On
,通常会在各种情况下自动发生:
a)如果您正在使用门户网站来更改功能
b)如果您使用msdeploy,Kudu git deploy或Kudu的zipdeploy(synced
)来部署Function App
c)如果您在门户网站中单击“功能应用程序”名称旁边的小刷新图标
注意:默认情况下,时间表使用UTC时间,因此在设置每日时间表时要注意这一点(每小时是否触发都没关系)。
您可以通过设置/api/zipdeploy
将其更改为我们的特定时区。有关更多信息,请参见here。
有关更多详细信息,您可以参考此article。