azure - Azure WebJob 未超时
问题描述
我正在运行一个触发的 Web 作业 - 每 15 分钟运行一次 - 它是一个控制台应用程序,可将数据从 SQL Server 移动到 Mongo 数据库。我已将 WEBJOBS_IDLE_TIMEOUT 和 SCM_COMMAND_IDLE_TIMEOUT 值配置为 3600。过去 5 天它处于空闲状态,并且没有中止或超时。我必须重新启动网络应用程序才能中止网络作业并重新启动它。
有没有办法可以配置 web 作业应该在特定时间段后中止?
解决方案
该WEBJOBS_IDLE_TIMEOUT
配置仅适用于您的 webjob 没有 CPU 和 IO 活动(请参阅Kudu wiki 中的WebJobs )
CPU 活动是通过Process.TotalProcessorTime测量的,而 IO 活动是通过检查 Web 作业的标准和错误输出流中的新字符来测量的。来源:IdleManager.WaitForExit和Executable.ExecuteInternal。
如果可能,让您的网络作业在完成其工作后优雅地退出。如果您想强制中止仍在消耗 CPU 或 IO 的长时间运行的操作,则必须直接在您的 webjob 中对此进行编码。
推荐阅读
- c# - 如何检查 POS 打印机状态
- javascript - 水平拆分窗格 vue 组件未在电子中调整大小
- vue.js - 我的图像标签内的 vue 插值作为 src:" {{ image }}"
- javascript - 如何使用 lodash 在 SQL IN 子句等条件下过滤数组?
- git - 没有“比较和拉取请求”按钮/来自错误用户的推送
- python - 如何在 for 循环(if else 语句)中打印数据间隔?Python 问题
- django - 浮点字段上的 Django 注释无法正常工作
- python-3.x - 无法从我的 python 代码的输出中删除最后一个 +
- excel - 将句子中的特定单词加粗,但不突出显示“,Lead Bookrunner”之前的整个句子
- r - 使用 R 将日期序列添加到数据框中