gpt4 book ai didi

Azure 连续 WebJob "Graceful"关闭时间小于 5 秒

转载 作者:行者123 更新时间:2023-12-01 10:43:50 25 4
gpt4 key购买 nike

我发现了这个关于 WebJobs“优雅”关闭的博客 - http://blog.amitapple.com/post/2014/05/webjobs-graceful-shutdown/#.VNZbLPmsXZ0

它表示连续 Web 作业的正常关闭默认时间为 5 秒。

我想在 WebJob 关闭时发送电子邮件,因此已尝试博客中详细介绍的方法,但是此电子邮件未发送(我有一封电子邮件在 WebJob 启动时发送正常)。

查看 webjob 的日志,我认为这可能是因为关闭需要 1 秒而不是 5 秒 - 如果我正确读取日志的话。

在提供的屏幕截图中,显示在 18:07:58“WebJob 正在停止”,然后在 18:07:58“状态更改为已停止”,所以不是 5 秒。

enter image description here

有谁知道如何确保关闭时间为 5 秒?

或者即使可以将连续 WebJobs 的关闭宽限期延长至 5 秒以上?

提前致谢

** 更新 **

我的问题是我忘记了 FileWatcher 事件处理程序位于与主线程不同的线程上。因此,在事件处理程序逻辑完成之前,主线程正在完成,并且作业已停止。已接受阿米特·苹果的评论,因为这为我指明了正确的方向。感谢你们两位的贡献。

最佳答案

WebJobs 运行时默认会等待 5 秒,然后再终止进程。正如我从日志中看到的,该进程实际上自行退出(可能是因为您已经实现了关闭检测),因此没有理由等待,关闭过程会继续。

“stopping_wait_time” 是用于延长 5 秒默认值的正确设置。

开源的好处,我可以向您展示其代码: https://github.com/projectkudu/kudu/blob/master/Kudu.Core/Jobs/ContinuousJobRunner.cs#L156-L190

关于Azure 连续 WebJob "Graceful"关闭时间小于 5 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28386198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com