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

时间:2018-05-06 09:35:17

标签: azure asp.net-core azure-webjobs

我们可以使用WebApp Appsettings(在Azure中)中的此(WEBJOBS_IDLE_TIMEOUT)属性为触发的webjobs设置空闲超时。要将其设置为24小时,我现在将此属性设置为86400,但我宁愿将空闲超时设置为无限。那可能吗?如果是这样,怎么样?如果没有,最大值是多少?

我正在寻找这个,因为开发/测试设置暂时没有使用,当我们开始使用它时,我们不想手动启动webjob。初始启动在发布后/发布期间在CI中完成。

1 个答案:

答案 0 :(得分:0)

据我所知,似乎WEBJOBS_IDLE_TIMEOUT没有无限值和最大值,我们可以尽可能地将空闲超时设置为大数。

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

  

WEBJOBS_IDLE_TIMEOUT - 以秒为单位的时间我们将中止   如果它处于空闲状态,没有cpu时间或者没有cpu时间,则运行触发的作业进程   输出(仅适用于已触发的作业)。

所以我们可以在每个时间段添加心跳样式控制台。

例如:

//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");

有两篇文章供您参考,12