我已将一个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小时按计划运行一次?
答案 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 * * *"
}

在Web应用程序> Web作业中刷新 Web作业状态后,您可以看到计划属性已更改。
有关详细信息,请参阅此article。
您可以在门户网站中输入CRON表达式,或在WebJob .zip文件的根目录中包含settings.job文件,如下例所示:
{
"schedule": "0 */15 * * * *"
}