我有一个功能App。 type是Timetrigger。我已经给出了时间触发表达式0 0 * * * *
,因为我要求它以1小时的间隔运行。我已经审阅了TimeTrigger Cheat Sheet
但不幸的是,它每5分钟触发一次。不知怎的,它不起作用。请帮我解决这个问题。
目标 - >以1小时为间隔运行应用程序App。
答案 0 :(得分:2)
如果您更改了代码,我建议您右键单击项目> 重建您的项目再试一次。或者您可以尝试使用类似' 0 0 */1 * * *
'。
结果:
但不确定为什么在将代码放入Azure门户时触发5分钟。
门户网站和Visual Studio中的代码不同。您可以尝试右键单击项目> 发布>选择Azure功能服务以将您的功能发布到门户网站。然后检查function.json中的计划:
在Portal中,您还可以点击' +'直接在Azure功能服务中创建TimeTrigger:
答案 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来选择触发间隔