azure - 当计划的 WebJob 长时间运行时会发生什么

标签 azure azure-web-app-service azure-webjobs

如果计划运行 Azure WebJob 但之前运行的实例尚未完成,会发生什么情况?它会再次运行 WebJob 以便同时运行两个 WebJob 吗?它不会运行 WebJob 并重新开始计时吗?我无法在任何地方找到这种行为的记录。我有一项工作想每小时运行一次,但有时可能需要一个多小时才能完成,但我不想同时运行其中两个。

最佳答案

据我了解,计划的 webjobs 只是使用 Azure Scheduler 运行的触发 webjobs,如果您在管理门户中打开 Azure Scheduler,您可以看到 webjobs,甚至可以更详细地配置它们。 (您也可以查看日志,它可以为您的问题提供简单的答案)。

如果您想查看计划的 Web 作业作为 Kudu 触发的 Web 作业运行的情况,如果您查看 Kudu 源代码,您将看到作业启动时会创建一个锁定文件,并且如果您尝试开始另一个job a ConflictException is thrown if there is already a lock file

Azure 调度程序使用 catches the ConflictException and gives you the "Error_WebJobAlreadyRunning" warning 的 Webhook 调用您的作业这会告诉您:“由于作业已经在运行,因此无法开始新的运行。”

关于azure - 当计划的 WebJob 长时间运行时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29542705/

相关文章:

c# - 跟踪特定方法调用

azure - 无法访问azure应用程序服务中的keycloak控制台 - 脚本ssl错误

.net-core - .NET Core 中的 Azure Web 作业

azure - 本地服务总线 - 放弃延迟消息

Azure AD 应用程序通过 Powershell 添加 key

python - 在 Airflow 中找不到文件

azure - Azure 应用服务停止时 Azure Webjob 是否也会停止

asp.net-mvc - 如何更改 Windows Azure 网站 (asp.net mvc4) 上的验证语言?

azure - Azure 中的 Blazor : The list of component records is not valid

c# - 拦截 Azure 函数主机关闭 : Flush Application Insights TelemetryClient