将Azure触发的WebJob超时设置为无限
我们可以使用webappsettings(在Azure中)中的(将Azure触发的WebJob超时设置为无限,azure,asp.net-core,azure-webjobs,Azure,Asp.net Core,Azure Webjobs,我们可以使用webappsettings(在Azure中)中的(webjobs\u idle\u timeout)属性设置触发的webjobs的空闲超时。为了将其设置为24小时,我现在将此属性设置为86400,但我更愿意将空闲超时设置为无限。有可能吗?如果是,怎么做?如果没有,最大值是多少 我在寻找这个,因为开发/测试设置已经有一段时间没有使用了,当我们开始使用它时,我们不想手动启动webjob。初始启动在发布后/发布期间在CI中完成。据我所知,WEBJOBS\u IDLE\u TIMEOUT似
webjobs\u idle\u timeout
)属性设置触发的webjobs的空闲超时。为了将其设置为24小时,我现在将此属性设置为86400,但我更愿意将空闲超时设置为无限。有可能吗?如果是,怎么做?如果没有,最大值是多少
我在寻找这个,因为开发/测试设置已经有一段时间没有使用了,当我们开始使用它时,我们不想手动启动webjob。初始启动在发布后/发布期间在CI中完成。据我所知,
WEBJOBS\u IDLE\u TIMEOUT
似乎没有无限值和最大值,我们可以将IDLE TIMEOUT设置为尽可能大的数字
其实还有另外一种方式也是可行的。正如《圣经》所说
WEBJOBS\u IDLE\u TIMEOUT以秒为单位的时间,之后我们将中止
如果触发的作业处于空闲状态,则运行该作业的进程没有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");
有两篇文章供您参考。是的,控制台ping给我带来了一些想法。我仍然设置了24小时空闲超时,但我们也有一个在预定时间连续运行的webjob。我们现在不再ping触发的webjob控制台样式,而是使用连续webjob在队列中为触发的作业删除一条空消息,以重置空闲超时。@BobMeijwaard很高兴知道问题已经解决,听起来不错。