【问题标题】:Azure WebJob Storage ExceptionAzure WebJob 存储异常
【发布时间】:2016-09-13 11:45:00
【问题描述】:

我在运行连续网络作业时遇到以下错误。

Microsoft.Azure.WebJobs.Host.dll 中出现“Microsoft.WindowsAzure.Storage.StorageException”类型的未处理异常

附加信息。客户端无法在指定的超时时间内完成操作。

我的网络作业是由 Azure 存储队列触发的。当消息到达队列时,webjob 可以正常启动并运行大约 8-10 分钟,然后才停止运行。此时,它再次开始处理该消息,并且 webjob 再次运行 8-10 分钟。这个循环一直持续到我手动停止 webjob。

我通过远程调试 webjob 设法得到了上述错误。 8-10 分钟后,我在 Visual Studio 中收到一个弹出窗口 - StorageException 未处理。

webjob 和 Azure 队列/Blob 存储之间是否存在默认超时?

真的坚持这个,所以任何帮助表示赞赏。

【问题讨论】:

  • 当你得到这个异常时,如果你查看异常的RequestInformation 属性,你应该会看到更多的细节。可以分享一下吗?
  • 当我得到异常时,它只是 Visual Studio 中的一个弹出窗口,但我无法在任何地方看到有关异常的更多详细信息。

标签: azure azure-webjobs azure-webjobssdk azure-storage-queues webjob


【解决方案1】:

据我所知,可能原因如下:

  • WEBJOBS_IDLE_TIMEOUT - 以秒为单位的时间,如果它处于空闲状态、没有 cpu 时间或输出,我们将中止正在运行的触发作业的进程。默认值为 2 分钟。
  • SCM_COMMAND_IDLE_TIMEOUT - 默认情况下,当您的构建过程启动某些命令时,它最多允许运行 60 秒而不产生任何输出。

根据您的描述,请尝试为您的 WebJob 增加“SCM_COMMAND_IDLE_TIMEOUT”和“WEBJOBS_IDLE_TIMEOUT”设置,看看它是否可以在您这边和 Azure 那边工作。

您可以在 WebJob 项目的 app.config 文件的 appSettings 部分添加以下设置。

<appSettings>
    <add key="SCM_COMMAND_IDLE_TIMEOUT" value="3600" /> <!--1 hour-->
    <add key="WEBJOBS_IDLE_TIMEOUT" value="3600" /> <!--1 hour-->
</appSettings>

或者

您可以登录 Azure 门户,选择托管您的 WebJob 的 Web 应用程序,单击设置 > 应用程序设置,在应用程序设置部分添加上述设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2018-02-17
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多