我已经将一个PnP合作伙伴包示例部署到Azure存储,并创建了两个webjobs。一个预定,另一个连续。
我通过UI“创建网站集页面”创建了几个网站集,当我检查配置网站集中的PnPProvisioningJobs库时,作业状态显示为“pending”。但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小时按计划运行一次?
工作状态显示“待定”。但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文件,以实现您的目标。
将本地计划Web作业发布到Azure后,您可以在Kudu中看到文件。例如,Azure门户> Web App>高级工具>单击执行(KuDu)>选择调试控制台CMD>站点> wwwroot> App_Data>作业>已触发>打开您的Web作业>创建名为settings.job的文件。
在settings.job文件中,添加以下代码以添加CRON表达式。
{
"schedule": "0 0 */2 * * *"
}
在Web App> Web作业中刷新Web作业状态后,您可以看到schedule属性已更改。
有关更多详细信息,请参阅此article。
您可以在门户网站中输入CRON表达式,或在WebJob .zip文件的根目录中包含settings.job文件,如以下示例所示:
{
"schedule": "0 */15 * * * *"
}