每15分钟运行一次Azure函数

时间:2020-04-15 12:57:38

标签: azure azure-functions

我有一个Azure函数,其方法如下:

[FunctionName("RunTask")]
public static async Task Run([TimerTrigger("0 */15 * * * *")]TimerInfo myTimer, TraceWriter log)
{
  log.Info("Running task...");
  await Task.CompletedTask;
}

以上方法仅是测试计时能力的外壳。我希望该功能每15分钟运行一次。但是,该任务似乎仅在第一遍运行。我将基于在Azure门户中看到的内容。在Azure门户中,我选择RunTask函数以查看日志。这使我可以实时查看跟踪日志。

第一个日志正确显示。但是,我看不到任何其他日志。相反,我看到“过去[x]分钟内没有新的跟踪记录。”

奇怪的是,如果我将计时器从15分钟更改为5分钟(从[TimerTrigger("0 */15 * * * *")]更改为[TimerTrigger("0 */5 * * * *")]),它将按预期工作。这是为什么?如何设置每15分钟运行一次的功能?

请注意,我必须使用Microsoft.NET.Sdk.Functions-1.0.24实现。

谢谢!

1 个答案:

答案 0 :(得分:0)

计时器触发器没有问题。每15分钟成功触发一次功能,但是日志窗口很脆弱。有时几分钟后它不会显示日志,因此当您将计时器设置为15到5分钟时,它将正常显示日志。

对于此问题,可以按照以下步骤查看功能日志:

  1. 转到功能应用程序的“ kudu”。 enter image description here

  2. 然后单击“调试控制台”->“ CMD”->“ LogFiles”->“应用程序”->“功能”->“功能”,选择您的功能,单击编辑铅笔,然后您就可以看到日志。 enter image description here