0

运行连续网络作业时出现以下错误。

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 存储之间是否存在默认超时?

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

4

1 回答 1

0

据我所知,以下设置可能是可能的原因:

  • 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 应用程序,单击设置 > 应用程序设置,在应用程序设置部分添加上述设置。

于 2016-09-15T08:09:46.230 回答