首页 > 解决方案 > Azure Webjob 在 4 分钟后失败

问题描述

我有 3 个网络作业。2现在连续运行几个月没有任何问题。我最近创建的第三个是一个触发的网络作业,它监听我的存储队列。这工作正常,除了 4 分钟后 webjob 崩溃并且状态设置为“失败”。

查看错误日志,我看到了这个:

was aborted due to no output nor CPU activity for 121 seconds. You can increase the SCM_COMMAND_IDLE_TIMEOUT app setting (or WEBJOBS_IDLE_TIMEOUT if this is a WebJob) if needed.

但整个想法是,当有东西进入队列时,webjob 将执行它的任务,与此同时,webjob 可以进入空闲状态,这没问题。

看来我错过了大局。我确实在门户中启动了网络作业。那是错的吗?我应该将其保持在“就绪”状态吗?

创建一个监听队列的 webjob 的正确工作流程是什么,当它无事可做时休眠,当有东西放入队列时再次唤醒?

标签: azureazure-webjobs

解决方案


首先回答问题:

  • 我将其部署为触发式 WebJob
  • 我正在使用 WebJob SDK
  • 我不熟悉Azure function
  • 我启用了Always On

现在解决方案。昨天晚上我添加WEBJOBS_IDLE_TIMEOUTApplication settingsAzure 门户中并将其值设置为 3600,这应该意味着 1 小时。我还将这个设置添加到我<appSettings>的 in 中app.config,只是注意到我的 WebJob 仍在运行(现在超过 11 小时)。我只是在队列上放了一些东西,并且处理得很好。

我不确定为什么它现在可以工作,但我很高兴它可以工作;)


推荐阅读