将 Azure 触发的 WebJob 超时设置为无限

Set Azure Triggered WebJob timeout to infinite

我们可以在 WebApp 应用程序设置(在 Azure 中)中使用此 (WEBJOBS_IDLE_TIMEOUT) 属性 为触发的网络作业设置空闲超时。要将它设置为 24 小时,我现在将此 属性 设置为 86400,但我宁愿将空闲超时设置为无限。尽可能?如果是这样,怎么办?如果不是,最大值是多少?

我正在寻找这个,因为 development/test 设置有一段时间没有使用,当我们开始使用它时,我们不想手动启动 webjob。初始启动在 CI after/during 版本中完成。

据我所知,WEBJOBS_IDLE_TIMEOUT似乎没有无限值和最大值,我们可以将Idle Timeout设置为尽可能大的数字。

其实还有一种方法也是可行的。正如 Configuration Settings 所说,

WEBJOBS_IDLE_TIMEOUT - Time in seconds after which we'll abort a running triggered job's process if it's in idle, has no cpu time or output (Only for triggered jobs).

所以我们可以添加一个心跳风格的控制台每隔一段时间写一次。

例如:

//SEE IF THIS HAS BEEN RUNNING FOR MORE THAN 24 HOURS
if (DateTime.Now.Subtract(StartTime).TotalHours >= 24)
                    ThereAreItemsInQueue = false;

                Counter++;
if (Counter % 25 == 0)
   Console.WriteLine("Heartbeat");

有两篇文章供您参考,1 and 2