我有3个webjob。 2现在连续运行了几个月没有任何问题。 我最近创建的第三个对象是触发的Web作业,它监听我的存储队列。 正常运行,除非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可以进入IDLE,这没问题。
看来我想念大局了。我确实在门户网站中启动了webjob。那是错的吗?我应该将其保持在“就绪”状态吗?
什么是正确的工作流程才能创建可侦听队列,在无事可做时休眠并在队列中放入某些东西时再次唤醒的webjob?
答案 0 :(得分:1)
首先回答问题:
Azure function
Always On
现在解决。昨天晚上,我在Azure门户的WEBJOBS_IDLE_TIMEOUT
中添加了Application settings
,并将其值设置为3600,这意味着1个小时。
我还将此设置添加到了<appSettings>
中的app.config
中,只是注意到我的WebJob仍在运行(现在已超过11个小时)。我只是把一些东西放在队列中,并且处理得很好。
我不确定为什么它现在可以工作,但我很高兴它能起作用;)