功能应用时间触发不起作用

时间:2018-03-22 06:57:49

标签: azure azure-functions

我有一个功能App。 type是Timetrigger。我已经给出了时间触发表达式0 0 * * * *,因为我要求它以1小时的间隔运行。我已经审阅了TimeTrigger Cheat Sheet

但不幸的是,它每5分钟触发一次。不知怎的,它不起作用。请帮我解决这个问题。

目标 - >以1小时为间隔运行应用程序App。

3 个答案:

答案 0 :(得分:2)

如果您更改了代码,我建议您右键单击项目> 重建您的项目再试一次。或者您可以尝试使用类似' 0 0 */1 * * *'。

这样的表达式

结果:

enter image description here

  

但不确定为什么在将代码放入Azure门户时触发5分钟。

门户网站和Visual Studio中的代码不同。您可以尝试右键单击项目> 发布>选择Azure功能服务以将您的功能发布到门户网站。然后检查function.json中的计划:

enter image description here

在Portal中,您还可以点击' +'直接在Azure功能服务中创建TimeTrigger:

enter image description here

答案 1 :(得分:0)

我从问题中得出结论,虽然您将在代码级别更新时间触发器计划,但这不会影响正在运行的计划。配置中有什么(转到功能App的集成选项卡并检查计时器值)。代码值更改不会影响配置值。需要手动更改配置值。

答案 2 :(得分:0)

您可以将触发时间设置为配置值,如下所示:

[FunctionName(nameof(TimerFunction))]
        public static async Task Run(
            [TimerTrigger("%schedule%")]
            TimerInfo timerInfo, 
            TraceWriter log)
{}

然后在Azure门户中的功能应用程序的应用程序设置中定义计划

schedule 0 */5 * * * *(在这种情况下,每五分钟一次)

我使用crontab.guru来选择触发间隔