PnP继续Webjob不执行配置网站集

时间:2018-02-13 15:40:27

标签: azure azure-webjobs

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

我通过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小时按计划运行一次?

1 个答案:

答案 0 :(得分:1)

  

工作状态显示"待定"。然而,WebJob状态显示"正在运行"。

     

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

如果Web作业状态显示挂起重启,则表示作业通常无法启动(例外?)。您可以在作业仪表板中查找日志。另外,请确保您的代码正确无误。

根据上面的代码,您似乎没有将值传递给这些属性。这将导致绿色波浪线警告。您可以参考以下代码来传递值。它在我身边很好。



{
  "$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 App>高级工具>点击开始(KuDu)>选择调试控制台CMD> 网站> wwwroot> App_Data>工作>触发>打开您的网络工作>创建一个名为settings.job的文件。

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



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




KuDu中的Web作业中的settings.job文件: enter image description here

在Web应用程序> Web作业中刷新 Web作业状态后,您可以看到计划属性已更改。

enter image description here

有关详细信息,请参阅此article

  

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



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