【问题标题】:Want Azure webjobs to maintain running state (Running or Stopped) following publishing of web app希望 Azure webjobs 在发布 web 应用程序后保持运行状态(正在运行或已停止)
【发布时间】:2017-02-22 01:00:44
【问题描述】:

我正在使用 Visual Studio 2015 将 Web 应用程序和各种相关(连续)Web 作业部署到 Azure。直到最近,我的观察是,在部署过程之后,Web 作业将保持其状态;如果作业正在运行,如果代码更改,它将重新启动。如果作业已停止,代码将更新,网络作业将保持在已停止状态。

我现在看到的行为是 Stopped webjobs 在部署之后开始。这不是我想要的行为,因为作业停止是有原因的。我发布新版本的网络应用程序代码和/或网络作业代码这一事实不应被视为框架假设网络作业的运行状态应该改变。

这种行为是否可控?

【问题讨论】:

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


    【解决方案1】:

    Amit Apple 对这个问题给出了很好的回应here

    “要在停止状态下部署连续的 WebJob,只需在 WebJob(二进制文件)的根目录下添加一个名为 disable.job 的文件,这将告诉框架 WebJob 当前已停止。”

    我快速搜索了 Kudu 存储库,看起来这仍然有效。虽然它实际上不在 Kudu 文档中。

    【讨论】:

    • 泰。我也看到了。问题是我希望 webjob 的运行状态在部署后保持相同;如果已停止,请保持停止;如果它正在运行,请保持运行。我本可以发誓这种行为(如果工作停止,则开始工作)最近才开始......
    【解决方案2】:

    从kudu项目的ContinuousJobRunner.cs可以看出IsDisabled属性用于检查webjob是否启用,如下所示:

    private bool IsDisabled
    {
        get { return OperationManager.Attempt(() => FileSystemHelpers.FileExists(_disableFilePath) || Settings.IsWebJobsStopped()); }
    }
    

    据我所知,对于连续的 WebJobs,我们有以下方法来阻止它。

    1) 登录 Azure 门户,在“设置 > 应用程序设置”边栏选项卡下,添加新的应用设置 WEBJOBS_STOPPED 并将值设置为 1

    注意:此设置将禁用触发的网络作业和连续的网络作业。

    2) 在 WebJob 二进制文件的根目录中添加一个名为 disable.job 的文件

    您可以登录 Azure 门户,在您的 Web 应用程序的“设置 > WebJobs”刀片下,选择您的 Web 作业并单击“停止”。此外,您可以手动添加此文件。对于以编程方式,您可以利用 WebJobs API 和基本身份验证,使用您的网络应用程序的 Deployment credentials 来启动/停止您的 WebJob。

    我现在看到的行为是 Stopped webjobs 在部署之后开始。这不是我想要的行为,因为作业被停止

    对于连续的 WebJobs,我已经测试了这个问题,发现在我发布我的 Web 应用程序或 webjob 后,webjobs 会保持它们的状态(停止/运行)。总之,请检查您如何停止连续的 WebJobs,您可以创建一个新的 WebJobs 来隔离此问题。

    【讨论】:

    • 感谢您的回复。我不清楚的东西。您说,“对于连续 WebJobs,我已经测试了这个问题,发现在我发布我的 Web 应用程序或 webjob 后,webjobs 会保持它们的状态(停止/运行)。总而言之,请检查如何停止连续 WebJobs 和你可以创建一个新的网络作业来隔离这个问题。”请说明您所做的哪些配置更改允许网络作业在发布后保持其状态。或者,您是说这是您遇到的默认行为?
    • 我的意思是,如果我通过上述方法停止/启动我的连续 WebJobs,那么我的 WebJobs 将在发布后保持其状态而不更改任何配置。
    猜你喜欢
    • 1970-01-01
    • 2014-03-25
    • 2012-09-12
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多