我发现这个关于WebJobs“优雅”关闭的博客- http://blog.amitapple.com/post/2014/05/webjobs-graceful-shutdown/#.VNZbLPmsXZ0
它说,对于连续WebJobs,默认情况下,优雅的关闭将是5秒。
当我的WebJob关闭时,我想发送一封电子邮件,所以尝试了博客中详细介绍的方法,但是这封电子邮件没有发送(我有一封电子邮件在WebJob启动时发送确定)。
查看网络作业的日志,我认为这可能是因为关机需要1秒而不是5秒-如果我正确地读取日志的话。
在截图中,显示在18:07:58 "WebJob正在停止“,然后在18:07:58”状态更改为已停止“,所以不是5秒。

有人知道我如何确保关闭时间是5秒吗?
或者,即使有可能将连续WebJobs的关闭宽限期延长到5秒以上?
提前感谢
** 更新 **
我的问题是,我忘记了FileWatcher事件处理程序位于与主线程不同的线程上。因此,在事件处理程序逻辑完成之前,主线程已经完成,作业停止了。已经接受了Amit苹果的评论,因为这为我指明了正确的方向。感谢你们两位的投入。
发布于 2015-02-09 00:14:09
默认情况下,WebJobs运行时将等待5秒才能终止进程。正如我从日志中看到的,进程实际上是自己退出的(可能是因为您已经实现了on关机检测),因此没有理由等待,关闭过程继续进行。
"stopping_wait_time"是用于扩展5秒默认值的适当设置。
关于开放源码,我可以向您展示如下代码:https://github.com/projectkudu/kudu/blob/master/Kudu.Core/Jobs/ContinuousJobRunner.cs#L156-L190
发布于 2015-02-07 21:16:45
来自:https://github.com/projectkudu/kudu/wiki/Web-jobs#continuous
您可以通过在settings.job文件中指定它(以秒为单位)来更改作业的宽限期(应该在与作业脚本相同的根目录中)。 { "stopping_wait_time":60 } 这将使作业宽限期为60秒,而不是默认的。
此外,请注意,如果您有一个网络作业运行,您应该将网站设置为“始终打开”。这可以在管理门户中配置。
https://stackoverflow.com/questions/28386198
复制相似问题