【问题标题】:Run an Azure Function Every 15 minutes每 15 分钟运行一次 Azure 函数
【发布时间】:2020-04-15 12:57:38
【问题描述】:

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

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

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

第一个日志正确显示。但是,我没有看到任何额外的日志写入。相反,我看到“过去 [x] 分钟内没有新的痕迹。”

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

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

谢谢!

【问题讨论】:

  • 您是直接从门户网站还是通过 Visual Studio 创建的?
  • 我以为每 15 个都不一样 crontab.guru/every-15-minutes
  • 试试这个:59 14,29,44,59 * * * *

标签: azure azure-functions


【解决方案1】:

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

对于这个问题,您可以按照以下步骤查看您的函数的日志:

  1. 转到函数应用的“kudu”。

  2. 然后点击“Debug console”-->“CMD”-->“LogFiles”-->“Application”-->“Functions”-->“function”,选择你的函数,点击编辑铅笔,然后你可以看到日志。

【讨论】:

    猜你喜欢
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 2015-05-10
    • 2012-06-09
    • 2015-08-01
    • 1970-01-01
    相关资源
    最近更新 更多