【问题标题】:PnP continues Webjob does not execute to provision the site collectionPnP 继续 Webjob 不执行以配置网站集
【发布时间】:2018-02-13 15:40:26
【问题描述】:

我已将 PnP 合作伙伴包示例部署到 Azure 存储,并创建了两个 Web 作业。一个是预定的,另一个是连续的。

我通过 UI“创建网站集页面”创建了几个网站集,当我检查预配网站集中的 PnPProvisioningJobs 库时,作业状态显示“待定”。但是 WebJob 状态显示“正在运行”。

json 设置文件包含以下设置:

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "ContinousJob",
  "startTime": null,
  "endTime": null,
  "jobRecurrenceFrequency": null,
  "interval": null,
  "runMode": "Continuous"
}

知道如何将其配置为连续运行,因为现在显然没有这样做。

Scheduled WebJob 有以下设置:

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "ScheduledJob",
  "runMode": "OnDemand"
}

您能否告诉我,例如,如何将其设置为按计划每 2 小时运行一次?

【问题讨论】:

    标签: azure azure-webjobs


    【解决方案1】:

    作业状态显示“待定”。但是 WebJob 状态显示“正在运行”。

    知道如何将其配置为连续运行,因为现在显然没有这样做。

    如果 Web 作业状态显示为 pending restart ,则表示作业通常无法启动(异常?)。您可以在作业仪表板中查看日志。另外,请确保您的代码是正确的。

    并且根据上面的代码,您似乎还没有将值传递给这些属性。这将导致绿色波浪线警告。您可以参考以下代码来传递值。对我来说效果很好。

    {
      "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
      "webJobName": "WebJobContinuous1",
      "startTime": "2018-02-14T06:45:24.3473721Z",
      "endTime": "2018-02-14T07:45:24.3473721Z",
      "jobRecurrenceFrequency": "Minute",
      "interval": 5,
      "runMode": "Continuous"
    }

    您能否告诉我,例如,如何将其设置为按计划每 2 小时运行一次?

    您可以在 WebJob .zip 文件的根目录下创建一个 settings.job 文件来实现您的目标。

    将本地调度网络作业发布到 Azure 后,您可以在 Kudu 中看到文件。 例如,Azure 门户>Web 应用程序>高级工具>单击 Go(KuDu)>选择调试控制台 CMD>site>wwwroot>App_Data>jobs>已触发>打开您的 Web 作业>创建一个名为 settings.job 的文件。

    settings.job文件中,添加如下代码添加CRON表达式。

    {
        "schedule": "0 0 */2 * * *" 
            
    }

    KuDu web job中的settings.job文件:

    在 Web App>Web Jobs 中刷新 Web Job 状态后,您可以看到 schedule 属性已更改。

    更多详情可以参考这个article

    您可以在门户中输入 CRON 表达式或在 WebJob .zip 文件的根目录中包含一个 settings.job 文件,如下例所示:

    {
        "schedule": "0 */15 * * * *"
    }

    【讨论】:

    • 您好 Janley,已尝试过您的设置,但我似乎无法使其正常工作,而且我没有看到与您在打印屏幕中显示的相同的内容。对我来说,它仍然显示“计划”:不适用。
    • 1.首先将您的计划 Web 作业发布到 Azure 应用服务。默认状态为“Schedule: n/a”(如果您尚未发布) 2.请确保您已在 Kudu 的 Web Job 文件夹中创建了 settings.job 文件。 3. 在settings.job 文件中添加CRON 表达式代码来改变schedule。 4. 在应用服务>Web 作业中刷新 Web 作业状态。或者您可以刷新 Azure 页面(F5)。最后,再次检查计划状态。
    • 这是我的 gif 结果:image.ibb.co/cP03Hn/webjobg2.gif。如果你还没有解决它,你可以告诉我你尝试了什么。很高兴为您提供帮助。
    • 感谢您的帮助。我没有太多时间专注于这个问题,因为我不得不做其他事情。我会尽快回复您更多信息。感谢您的帮助。
    • 我的 Azure 存储出现问题,因为我的免费订阅已过期。我正在尝试使用单独的 azure 存储帐户和不同的 office365 租户。但我在设置它时遇到问题。知道如何设置吗?在与 Office 365 租户帐户不同的 Azure 存储帐户中托管文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多