【问题标题】:Timer-triggered Azure Function not triggered on scheduled time and failed with Azure storage timeout exception计时器触发的 Azure 函数未按计划时间触发,并因 Azure 存储超时异常而失败
【发布时间】:2019-10-14 10:13:36
【问题描述】:

我有一个从 VS 创建的 V-1 时间触发 Azure 函数,用于通过 HTTPCLIENT 从估计时间为 9 分钟的服务中获取数据,它在本地运行良好,并使用存储模拟器。但是当我使用 App Service Plan 发布到 Azure 门户时,出现了两个问题:1> Monitor 选项卡未显示所有执行,因为如果我转到 Application Insights,我可以找到更多失败的执行,而且 Application Insights 中的触发时间不是预定的时间频率(我设置的每 6 小时一次) 2> 他们中的大多数都因以下快照而失败。 System.TimeoutException

任何帮助将不胜感激!

【问题讨论】:

  • 你真的应该升级到 v2,你会为自己节省大量的故障排除时间
  • 文档建议创建一个在 v2 上运行的新函数应用,并将现有代码移植到那里。然而,这需要从不同的服务授予对这个新应用程序的访问权限,因为我的函数现在可以与许多其他服务通信。或者,您是否可以分享有关将现有功能升级到 v2 的详细文档指南?谢谢
  • 您可以设置代理从 v1 转到 v2,同时更新服务以指向 v2

标签: c# azure-functions azure-storage azure-storage-emulator


【解决方案1】:

在其中一个 Github 问题中有一个建议,解决方案是使用以下 sn-p 在代码中禁用仪表板日志记录:

 var config = new JobHostConfiguration();
        config.DashboardConnectionString = null;

全文可查看here

【讨论】:

  • 累了,不工作了...加上 Azure Function 似乎没有被触发,监控选项卡和 Application Insights 都没有执行记录...
  • 正如here 所讨论的,当我转到 https://>.scm.azurewebsites.net/azurejobs/# 时,函数实际上正在被调用,但并未登录到 Azure 门户中/functions,它显示所有日志,但有许多问题状态“从未完成”并以“失败”状态结束,我的猜测是当它达到预定时间时,它会触发并继续尝试完成直到失败
  • 任何想法或直接在这里我可以增加快照中提到的 AzureStorage 执行超时?因为我去掉耗时方法后,执行时间不到2分钟,它会成功,但我需要那个方法,现在至少需要5分钟,我敢打赌它可以允许那么长时间,对吧?但是我在这里找不到增加超时的方法,感谢任何信息!
猜你喜欢
  • 2021-01-17
  • 1970-01-01
  • 1970-01-01
  • 2020-11-06
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
  • 2021-03-26
相关资源
最近更新 更多